summaryrefslogtreecommitdiff
path: root/doc
diff options
context:
space:
mode:
Diffstat (limited to 'doc')
-rw-r--r--doc/Makefile.am8
-rw-r--r--doc/Makefile.in588
-rw-r--r--doc/fdl.texi2
-rw-r--r--doc/libunistring.info1352
-rw-r--r--doc/libunistring.texi63
-rw-r--r--doc/libunistring_1.html14
-rw-r--r--doc/libunistring_10.html117
-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.html52
-rw-r--r--doc/libunistring_21.html786
-rw-r--r--doc/libunistring_22.html649
-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.html1185
-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.texi67
-rw-r--r--doc/unigbrk.texi27
-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
39 files changed, 3809 insertions, 2639 deletions
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..1578c95f 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -1,7 +1,7 @@
-# Makefile.in generated by automake 1.16.5 from Makefile.am.
+# Makefile.in generated by automake 1.18.1 from Makefile.am.
# @configure_input@
-# Copyright (C) 1994-2021 Free Software Foundation, Inc.
+# Copyright (C) 1994-2025 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
# gives unlimited permission to copy and/or distribute it,
@@ -69,6 +69,8 @@ am__make_running_with_option = \
test $$has_opt = yes
am__make_dryrun = (target_option=n; $(am__make_running_with_option))
am__make_keepgoing = (target_option=k; $(am__make_running_with_option))
+am__rm_f = rm -f $(am__rm_f_notfound)
+am__rm_rf = rm -rf $(am__rm_f_notfound)
pkgdatadir = $(datadir)/@PACKAGE@
pkgincludedir = $(includedir)/@PACKAGE@
pkglibdir = $(libdir)/@PACKAGE@
@@ -90,26 +92,30 @@ 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 \
$(top_srcdir)/gnulib-m4/assert_h.m4 \
$(top_srcdir)/gnulib-m4/btowc.m4 \
+ $(top_srcdir)/gnulib-m4/build-to-host.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 \
$(top_srcdir)/gnulib-m4/ctype_h.m4 \
$(top_srcdir)/gnulib-m4/double-slash-root.m4 \
$(top_srcdir)/gnulib-m4/dup2.m4 \
- $(top_srcdir)/gnulib-m4/eealloc.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 \
+ $(top_srcdir)/gnulib-m4/extensions-aix.m4 \
$(top_srcdir)/gnulib-m4/extensions.m4 \
$(top_srcdir)/gnulib-m4/extern-inline.m4 \
$(top_srcdir)/gnulib-m4/fcntl-o.m4 \
@@ -127,17 +133,20 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/ftruncate.m4 \
$(top_srcdir)/gnulib-m4/getcwd.m4 \
$(top_srcdir)/gnulib-m4/getdtablesize.m4 \
- $(top_srcdir)/gnulib-m4/getpagesize.m4 \
+ $(top_srcdir)/gnulib-m4/getlocalename_l.m4 \
$(top_srcdir)/gnulib-m4/getprogname.m4 \
+ $(top_srcdir)/gnulib-m4/gettext_h.m4 \
$(top_srcdir)/gnulib-m4/gettimeofday.m4 \
$(top_srcdir)/gnulib-m4/gnulib-common.m4 \
$(top_srcdir)/gnulib-m4/gnulib-comp.m4 \
+ $(top_srcdir)/gnulib-m4/gnulib-i18n.m4 \
$(top_srcdir)/gnulib-m4/host-cpu-c-abi.m4 \
$(top_srcdir)/gnulib-m4/iconv.m4 \
$(top_srcdir)/gnulib-m4/iconv_h.m4 \
$(top_srcdir)/gnulib-m4/iconv_open.m4 \
$(top_srcdir)/gnulib-m4/include_next.m4 \
$(top_srcdir)/gnulib-m4/inet_pton.m4 \
+ $(top_srcdir)/gnulib-m4/init-package-version.m4 \
$(top_srcdir)/gnulib-m4/inline.m4 \
$(top_srcdir)/gnulib-m4/intl-thread-locale.m4 \
$(top_srcdir)/gnulib-m4/intlmacosx.m4 \
@@ -151,23 +160,26 @@ 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 \
$(top_srcdir)/gnulib-m4/lcmessage.m4 \
$(top_srcdir)/gnulib-m4/ldexpl.m4 \
$(top_srcdir)/gnulib-m4/lib-ld.m4 \
$(top_srcdir)/gnulib-m4/lib-link.m4 \
$(top_srcdir)/gnulib-m4/lib-prefix.m4 \
+ $(top_srcdir)/gnulib-m4/libdl.m4 \
$(top_srcdir)/gnulib-m4/libunistring-base.m4 \
$(top_srcdir)/gnulib-m4/limits-h.m4 \
$(top_srcdir)/gnulib-m4/localcharset.m4 \
$(top_srcdir)/gnulib-m4/locale-ar.m4 \
+ $(top_srcdir)/gnulib-m4/locale-en.m4 \
$(top_srcdir)/gnulib-m4/locale-fr.m4 \
$(top_srcdir)/gnulib-m4/locale-ja.m4 \
$(top_srcdir)/gnulib-m4/locale-tr.m4 \
$(top_srcdir)/gnulib-m4/locale-zh.m4 \
$(top_srcdir)/gnulib-m4/locale_h.m4 \
+ $(top_srcdir)/gnulib-m4/localeconv.m4 \
$(top_srcdir)/gnulib-m4/localename.m4 \
$(top_srcdir)/gnulib-m4/lock.m4 \
$(top_srcdir)/gnulib-m4/lstat.m4 \
@@ -176,22 +188,27 @@ 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 \
$(top_srcdir)/gnulib-m4/mbtowc.m4 \
$(top_srcdir)/gnulib-m4/memchr.m4 \
$(top_srcdir)/gnulib-m4/minmax.m4 \
+ $(top_srcdir)/gnulib-m4/mkfifo.m4 \
$(top_srcdir)/gnulib-m4/mmap-anon.m4 \
$(top_srcdir)/gnulib-m4/mode_t.m4 \
$(top_srcdir)/gnulib-m4/msvc-inval.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 \
+ $(top_srcdir)/gnulib-m4/off64_t.m4 \
$(top_srcdir)/gnulib-m4/off_t.m4 \
+ $(top_srcdir)/gnulib-m4/once.m4 \
$(top_srcdir)/gnulib-m4/open-cloexec.m4 \
$(top_srcdir)/gnulib-m4/open-slash.m4 \
$(top_srcdir)/gnulib-m4/open.m4 \
@@ -202,12 +219,20 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/printf-frexpl.m4 \
$(top_srcdir)/gnulib-m4/printf.m4 \
$(top_srcdir)/gnulib-m4/pselect.m4 \
+ $(top_srcdir)/gnulib-m4/pthread-cond.m4 \
+ $(top_srcdir)/gnulib-m4/pthread-mutex.m4 \
+ $(top_srcdir)/gnulib-m4/pthread-once.m4 \
+ $(top_srcdir)/gnulib-m4/pthread-rwlock.m4 \
+ $(top_srcdir)/gnulib-m4/pthread-spin.m4 \
$(top_srcdir)/gnulib-m4/pthread-thread.m4 \
$(top_srcdir)/gnulib-m4/pthread_h.m4 \
+ $(top_srcdir)/gnulib-m4/pthread_mutex_timedlock.m4 \
$(top_srcdir)/gnulib-m4/pthread_rwlock_rdlock.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 +248,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 \
@@ -231,17 +257,22 @@ am__aclocal_m4_deps = $(top_srcdir)/gnulib-m4/00gnulib.m4 \
$(top_srcdir)/gnulib-m4/stat-time.m4 \
$(top_srcdir)/gnulib-m4/stat.m4 \
$(top_srcdir)/gnulib-m4/stdalign.m4 \
+ $(top_srcdir)/gnulib-m4/stdckdint_h.m4 \
$(top_srcdir)/gnulib-m4/stddef_h.m4 \
$(top_srcdir)/gnulib-m4/stdint.m4 \
$(top_srcdir)/gnulib-m4/stdint_h.m4 \
$(top_srcdir)/gnulib-m4/stdio_h.m4 \
$(top_srcdir)/gnulib-m4/stdlib_h.m4 \
+ $(top_srcdir)/gnulib-m4/stpcpy.m4 \
$(top_srcdir)/gnulib-m4/strerror.m4 \
$(top_srcdir)/gnulib-m4/strerror_r.m4 \
$(top_srcdir)/gnulib-m4/string_h.m4 \
+ $(top_srcdir)/gnulib-m4/stringeq.m4 \
$(top_srcdir)/gnulib-m4/strncat.m4 \
+ $(top_srcdir)/gnulib-m4/strncpy.m4 \
$(top_srcdir)/gnulib-m4/strstr.m4 \
$(top_srcdir)/gnulib-m4/symlink.m4 \
+ $(top_srcdir)/gnulib-m4/sys_cdefs_h.m4 \
$(top_srcdir)/gnulib-m4/sys_ioctl_h.m4 \
$(top_srcdir)/gnulib-m4/sys_select_h.m4 \
$(top_srcdir)/gnulib-m4/sys_socket_h.m4 \
@@ -251,31 +282,36 @@ 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/unitypes_h.m4 \
$(top_srcdir)/gnulib-m4/usleep.m4 \
$(top_srcdir)/gnulib-m4/vasnprintf.m4 \
$(top_srcdir)/gnulib-m4/visibility.m4 \
$(top_srcdir)/gnulib-m4/warn-on-use.m4 \
$(top_srcdir)/gnulib-m4/wchar_h.m4 \
- $(top_srcdir)/gnulib-m4/wchar_t.m4 \
$(top_srcdir)/gnulib-m4/wcrtomb.m4 \
$(top_srcdir)/gnulib-m4/wctob.m4 \
$(top_srcdir)/gnulib-m4/wctomb.m4 \
$(top_srcdir)/gnulib-m4/wctype_h.m4 \
$(top_srcdir)/gnulib-m4/wcwidth.m4 \
+ $(top_srcdir)/gnulib-m4/windows-rc.m4 \
$(top_srcdir)/gnulib-m4/wint_t.m4 \
$(top_srcdir)/gnulib-m4/xalloc.m4 \
+ $(top_srcdir)/gnulib-m4/xgetcwd.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 \
- $(top_srcdir)/m4/init-package-version.m4 \
- $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \
- $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \
- $(top_srcdir)/m4/lt~obsolete.m4 $(top_srcdir)/m4/woe32-dll.m4 \
- $(top_srcdir)/configure.ac
+ $(top_srcdir)/m4/exported.m4 $(top_srcdir)/m4/libtool.m4 \
+ $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \
+ $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \
+ $(top_srcdir)/m4/woe32-dll.m4 $(top_srcdir)/configure.ac
am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
$(ACLOCAL_M4)
DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/version.texi \
@@ -364,10 +400,9 @@ am__base_list = \
sed '$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;$$!N;s/\n/ /g' | \
sed '$$!N;$$!N;$$!N;$$!N;s/\n/ /g'
am__uninstall_files_from_dir = { \
- test -z "$$files" \
- || { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
- || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
- $(am__cd) "$$dir" && rm -f $$files; }; \
+ { test ! -d "$$dir" && test ! -f "$$dir" && test ! -r "$$dir"; } \
+ || { echo " ( cd '$$dir' && rm -f" $$files ")"; \
+ $(am__cd) "$$dir" && echo $$files | $(am__xargs_n) 40 $(am__rm_f); }; \
}
am__tagged_files = $(HEADERS) $(SOURCES) $(TAGS_FILES) $(LISP)
am__DIST_COMMON = $(libunistring_TEXINFOS) $(srcdir)/Makefile.in \
@@ -384,6 +419,7 @@ AR = @AR@
ARFLAGS = @ARFLAGS@
AS = @AS@
ASSERT_H = @ASSERT_H@
+AUGMENT_SHLIBPATH = @AUGMENT_SHLIBPATH@
AUTOCONF = @AUTOCONF@
AUTOHEADER = @AUTOHEADER@
AUTOMAKE = @AUTOMAKE@
@@ -393,6 +429,7 @@ BITSIZEOF_SIG_ATOMIC_T = @BITSIZEOF_SIG_ATOMIC_T@
BITSIZEOF_SIZE_T = @BITSIZEOF_SIZE_T@
BITSIZEOF_WCHAR_T = @BITSIZEOF_WCHAR_T@
BITSIZEOF_WINT_T = @BITSIZEOF_WINT_T@
+CAN_PRINT_STACK_TRACE = @CAN_PRINT_STACK_TRACE@
CC = @CC@
CCDEPMODE = @CCDEPMODE@
CFLAGS = @CFLAGS@
@@ -401,6 +438,9 @@ CPP = @CPP@
CPPFLAGS = @CPPFLAGS@
CSCOPE = @CSCOPE@
CTAGS = @CTAGS@
+CXX_HAS_CHAR8_TYPE = @CXX_HAS_CHAR8_TYPE@
+CXX_HAS_UCHAR_TYPES = @CXX_HAS_UCHAR_TYPES@
+CXX_HAVE_UCHAR_H = @CXX_HAVE_UCHAR_H@
CYGPATH_W = @CYGPATH_W@
DEFS = @DEFS@
DEPDIR = @DEPDIR@
@@ -418,22 +458,18 @@ ECHO_C = @ECHO_C@
ECHO_N = @ECHO_N@
ECHO_T = @ECHO_T@
EGREP = @EGREP@
-EMULTIHOP_HIDDEN = @EMULTIHOP_HIDDEN@
-EMULTIHOP_VALUE = @EMULTIHOP_VALUE@
-ENOLINK_HIDDEN = @ENOLINK_HIDDEN@
-ENOLINK_VALUE = @ENOLINK_VALUE@
-EOVERFLOW_HIDDEN = @EOVERFLOW_HIDDEN@
-EOVERFLOW_VALUE = @EOVERFLOW_VALUE@
ERRNO_H = @ERRNO_H@
ETAGS = @ETAGS@
EXEEXT = @EXEEXT@
FGREP = @FGREP@
FILECMD = @FILECMD@
FLOAT_H = @FLOAT_H@
+GETLOCALENAME_L_LIB = @GETLOCALENAME_L_LIB@
GLOBAL_SYMBOL_PIPE = @GLOBAL_SYMBOL_PIPE@
GL_CFLAG_ALLOW_WARNINGS = @GL_CFLAG_ALLOW_WARNINGS@
GL_CFLAG_GNULIB_WARNINGS = @GL_CFLAG_GNULIB_WARNINGS@
GL_CXXFLAG_ALLOW_WARNINGS = @GL_CXXFLAG_ALLOW_WARNINGS@
+GL_GNULIB_ABORT_DEBUG = @GL_GNULIB_ABORT_DEBUG@
GL_GNULIB_ACCEPT = @GL_GNULIB_ACCEPT@
GL_GNULIB_ACCEPT4 = @GL_GNULIB_ACCEPT4@
GL_GNULIB_ACCESS = @GL_GNULIB_ACCESS@
@@ -447,7 +483,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@
@@ -476,6 +538,7 @@ GL_GNULIB_DUP = @GL_GNULIB_DUP@
GL_GNULIB_DUP2 = @GL_GNULIB_DUP2@
GL_GNULIB_DUP3 = @GL_GNULIB_DUP3@
GL_GNULIB_DUPLOCALE = @GL_GNULIB_DUPLOCALE@
+GL_GNULIB_DZPRINTF = @GL_GNULIB_DZPRINTF@
GL_GNULIB_ENVIRON = @GL_GNULIB_ENVIRON@
GL_GNULIB_EUIDACCESS = @GL_GNULIB_EUIDACCESS@
GL_GNULIB_EXECL = @GL_GNULIB_EXECL@
@@ -526,6 +589,7 @@ GL_GNULIB_FPURGE = @GL_GNULIB_FPURGE@
GL_GNULIB_FPUTC = @GL_GNULIB_FPUTC@
GL_GNULIB_FPUTS = @GL_GNULIB_FPUTS@
GL_GNULIB_FREAD = @GL_GNULIB_FREAD@
+GL_GNULIB_FREELOCALE = @GL_GNULIB_FREELOCALE@
GL_GNULIB_FREE_POSIX = @GL_GNULIB_FREE_POSIX@
GL_GNULIB_FREOPEN = @GL_GNULIB_FREOPEN@
GL_GNULIB_FREXP = @GL_GNULIB_FREXP@
@@ -542,6 +606,7 @@ GL_GNULIB_FTELLO = @GL_GNULIB_FTELLO@
GL_GNULIB_FTRUNCATE = @GL_GNULIB_FTRUNCATE@
GL_GNULIB_FUTIMENS = @GL_GNULIB_FUTIMENS@
GL_GNULIB_FWRITE = @GL_GNULIB_FWRITE@
+GL_GNULIB_FZPRINTF = @GL_GNULIB_FZPRINTF@
GL_GNULIB_GETC = @GL_GNULIB_GETC@
GL_GNULIB_GETCHAR = @GL_GNULIB_GETCHAR@
GL_GNULIB_GETCWD = @GL_GNULIB_GETCWD@
@@ -553,13 +618,19 @@ GL_GNULIB_GETGROUPS = @GL_GNULIB_GETGROUPS@
GL_GNULIB_GETHOSTNAME = @GL_GNULIB_GETHOSTNAME@
GL_GNULIB_GETLINE = @GL_GNULIB_GETLINE@
GL_GNULIB_GETLOADAVG = @GL_GNULIB_GETLOADAVG@
+GL_GNULIB_GETLOCALENAME_L = @GL_GNULIB_GETLOCALENAME_L@
+GL_GNULIB_GETLOCALENAME_L_UNSAFE = @GL_GNULIB_GETLOCALENAME_L_UNSAFE@
GL_GNULIB_GETLOGIN = @GL_GNULIB_GETLOGIN@
GL_GNULIB_GETLOGIN_R = @GL_GNULIB_GETLOGIN_R@
GL_GNULIB_GETOPT_POSIX = @GL_GNULIB_GETOPT_POSIX@
GL_GNULIB_GETPAGESIZE = @GL_GNULIB_GETPAGESIZE@
GL_GNULIB_GETPASS = @GL_GNULIB_GETPASS@
GL_GNULIB_GETPASS_GNU = @GL_GNULIB_GETPASS_GNU@
+GL_GNULIB_GETPAYLOAD = @GL_GNULIB_GETPAYLOAD@
+GL_GNULIB_GETPAYLOADF = @GL_GNULIB_GETPAYLOADF@
+GL_GNULIB_GETPAYLOADL = @GL_GNULIB_GETPAYLOADL@
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@
@@ -580,27 +651,44 @@ GL_GNULIB_IMAXDIV = @GL_GNULIB_IMAXDIV@
GL_GNULIB_INET_NTOP = @GL_GNULIB_INET_NTOP@
GL_GNULIB_INET_PTON = @GL_GNULIB_INET_PTON@
GL_GNULIB_IOCTL = @GL_GNULIB_IOCTL@
+GL_GNULIB_ISALNUM_L = @GL_GNULIB_ISALNUM_L@
+GL_GNULIB_ISALPHA_L = @GL_GNULIB_ISALPHA_L@
GL_GNULIB_ISATTY = @GL_GNULIB_ISATTY@
GL_GNULIB_ISBLANK = @GL_GNULIB_ISBLANK@
+GL_GNULIB_ISBLANK_L = @GL_GNULIB_ISBLANK_L@
+GL_GNULIB_ISCNTRL_L = @GL_GNULIB_ISCNTRL_L@
+GL_GNULIB_ISDIGIT_L = @GL_GNULIB_ISDIGIT_L@
GL_GNULIB_ISFINITE = @GL_GNULIB_ISFINITE@
+GL_GNULIB_ISFINITE_NO_CXX = @GL_GNULIB_ISFINITE_NO_CXX@
+GL_GNULIB_ISGRAPH_L = @GL_GNULIB_ISGRAPH_L@
GL_GNULIB_ISINF = @GL_GNULIB_ISINF@
+GL_GNULIB_ISINF_NO_CXX = @GL_GNULIB_ISINF_NO_CXX@
+GL_GNULIB_ISLOWER_L = @GL_GNULIB_ISLOWER_L@
GL_GNULIB_ISNAN = @GL_GNULIB_ISNAN@
GL_GNULIB_ISNAND = @GL_GNULIB_ISNAND@
GL_GNULIB_ISNANF = @GL_GNULIB_ISNANF@
GL_GNULIB_ISNANL = @GL_GNULIB_ISNANL@
+GL_GNULIB_ISNAN_NO_CXX = @GL_GNULIB_ISNAN_NO_CXX@
+GL_GNULIB_ISPRINT_L = @GL_GNULIB_ISPRINT_L@
+GL_GNULIB_ISPUNCT_L = @GL_GNULIB_ISPUNCT_L@
+GL_GNULIB_ISSPACE_L = @GL_GNULIB_ISSPACE_L@
+GL_GNULIB_ISUPPER_L = @GL_GNULIB_ISUPPER_L@
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_ISXDIGIT_L = @GL_GNULIB_ISXDIGIT_L@
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@
@@ -617,11 +705,16 @@ GL_GNULIB_LOGBF = @GL_GNULIB_LOGBF@
GL_GNULIB_LOGBL = @GL_GNULIB_LOGBL@
GL_GNULIB_LOGF = @GL_GNULIB_LOGF@
GL_GNULIB_LOGL = @GL_GNULIB_LOGL@
+GL_GNULIB_LOGP1 = @GL_GNULIB_LOGP1@
+GL_GNULIB_LOGP1F = @GL_GNULIB_LOGP1F@
+GL_GNULIB_LOGP1L = @GL_GNULIB_LOGP1L@
GL_GNULIB_LSEEK = @GL_GNULIB_LSEEK@
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 +724,22 @@ 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_MBS_ENDSWITH = @GL_GNULIB_MBS_ENDSWITH@
+GL_GNULIB_MBS_STARTSWITH = @GL_GNULIB_MBS_STARTSWITH@
GL_GNULIB_MBTOWC = @GL_GNULIB_MBTOWC@
GL_GNULIB_MDA_ACCESS = @GL_GNULIB_MDA_ACCESS@
GL_GNULIB_MDA_CHDIR = @GL_GNULIB_MDA_CHDIR@
@@ -692,6 +792,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@
@@ -708,12 +809,14 @@ GL_GNULIB_MODF = @GL_GNULIB_MODF@
GL_GNULIB_MODFF = @GL_GNULIB_MODFF@
GL_GNULIB_MODFL = @GL_GNULIB_MODFL@
GL_GNULIB_NANOSLEEP = @GL_GNULIB_NANOSLEEP@
-GL_GNULIB_NL_LANGINFO = @GL_GNULIB_NL_LANGINFO@
+GL_GNULIB_NEWLOCALE = @GL_GNULIB_NEWLOCALE@
GL_GNULIB_NONBLOCKING = @GL_GNULIB_NONBLOCKING@
GL_GNULIB_OBSTACK_PRINTF = @GL_GNULIB_OBSTACK_PRINTF@
GL_GNULIB_OBSTACK_PRINTF_POSIX = @GL_GNULIB_OBSTACK_PRINTF_POSIX@
+GL_GNULIB_OBSTACK_ZPRINTF = @GL_GNULIB_OBSTACK_ZPRINTF@
GL_GNULIB_OPEN = @GL_GNULIB_OPEN@
GL_GNULIB_OPENAT = @GL_GNULIB_OPENAT@
+GL_GNULIB_OPENAT2 = @GL_GNULIB_OPENAT2@
GL_GNULIB_OVERRIDES_STRUCT_STAT = @GL_GNULIB_OVERRIDES_STRUCT_STAT@
GL_GNULIB_PCLOSE = @GL_GNULIB_PCLOSE@
GL_GNULIB_PERROR = @GL_GNULIB_PERROR@
@@ -745,6 +848,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@
@@ -752,7 +856,6 @@ GL_GNULIB_READ = @GL_GNULIB_READ@
GL_GNULIB_READLINK = @GL_GNULIB_READLINK@
GL_GNULIB_READLINKAT = @GL_GNULIB_READLINKAT@
GL_GNULIB_REALLOCARRAY = @GL_GNULIB_REALLOCARRAY@
-GL_GNULIB_REALLOC_GNU = @GL_GNULIB_REALLOC_GNU@
GL_GNULIB_REALLOC_POSIX = @GL_GNULIB_REALLOC_POSIX@
GL_GNULIB_REALPATH = @GL_GNULIB_REALPATH@
GL_GNULIB_RECV = @GL_GNULIB_RECV@
@@ -781,23 +884,33 @@ GL_GNULIB_SETENV = @GL_GNULIB_SETENV@
GL_GNULIB_SETHOSTNAME = @GL_GNULIB_SETHOSTNAME@
GL_GNULIB_SETLOCALE = @GL_GNULIB_SETLOCALE@
GL_GNULIB_SETLOCALE_NULL = @GL_GNULIB_SETLOCALE_NULL@
+GL_GNULIB_SETPAYLOAD = @GL_GNULIB_SETPAYLOAD@
+GL_GNULIB_SETPAYLOADF = @GL_GNULIB_SETPAYLOADF@
+GL_GNULIB_SETPAYLOADL = @GL_GNULIB_SETPAYLOADL@
+GL_GNULIB_SETPAYLOADSIG = @GL_GNULIB_SETPAYLOADSIG@
+GL_GNULIB_SETPAYLOADSIGF = @GL_GNULIB_SETPAYLOADSIGF@
+GL_GNULIB_SETPAYLOADSIGL = @GL_GNULIB_SETPAYLOADSIGL@
GL_GNULIB_SETSOCKOPT = @GL_GNULIB_SETSOCKOPT@
GL_GNULIB_SHUTDOWN = @GL_GNULIB_SHUTDOWN@
+GL_GNULIB_SIG2STR = @GL_GNULIB_SIG2STR@
GL_GNULIB_SIGABBREV_NP = @GL_GNULIB_SIGABBREV_NP@
GL_GNULIB_SIGACTION = @GL_GNULIB_SIGACTION@
GL_GNULIB_SIGDESCR_NP = @GL_GNULIB_SIGDESCR_NP@
GL_GNULIB_SIGNAL_H_SIGPIPE = @GL_GNULIB_SIGNAL_H_SIGPIPE@
GL_GNULIB_SIGNBIT = @GL_GNULIB_SIGNBIT@
+GL_GNULIB_SIGNBIT_NO_CXX = @GL_GNULIB_SIGNBIT_NO_CXX@
GL_GNULIB_SIGPROCMASK = @GL_GNULIB_SIGPROCMASK@
GL_GNULIB_SINF = @GL_GNULIB_SINF@
GL_GNULIB_SINHF = @GL_GNULIB_SINHF@
GL_GNULIB_SINL = @GL_GNULIB_SINL@
GL_GNULIB_SLEEP = @GL_GNULIB_SLEEP@
GL_GNULIB_SNPRINTF = @GL_GNULIB_SNPRINTF@
+GL_GNULIB_SNZPRINTF = @GL_GNULIB_SNZPRINTF@
GL_GNULIB_SOCKET = @GL_GNULIB_SOCKET@
GL_GNULIB_SPRINTF_POSIX = @GL_GNULIB_SPRINTF_POSIX@
GL_GNULIB_SQRTF = @GL_GNULIB_SQRTF@
GL_GNULIB_SQRTL = @GL_GNULIB_SQRTL@
+GL_GNULIB_STACK_TRACE = @GL_GNULIB_STACK_TRACE@
GL_GNULIB_STAT = @GL_GNULIB_STAT@
GL_GNULIB_STDIO_H_NONBLOCKING = @GL_GNULIB_STDIO_H_NONBLOCKING@
GL_GNULIB_STDIO_H_SIGPIPE = @GL_GNULIB_STDIO_H_SIGPIPE@
@@ -808,17 +921,22 @@ GL_GNULIB_STRCHRNUL = @GL_GNULIB_STRCHRNUL@
GL_GNULIB_STRDUP = @GL_GNULIB_STRDUP@
GL_GNULIB_STRERROR = @GL_GNULIB_STRERROR@
GL_GNULIB_STRERRORNAME_NP = @GL_GNULIB_STRERRORNAME_NP@
+GL_GNULIB_STRERROR_L = @GL_GNULIB_STRERROR_L@
GL_GNULIB_STRERROR_R = @GL_GNULIB_STRERROR_R@
GL_GNULIB_STRFTIME = @GL_GNULIB_STRFTIME@
+GL_GNULIB_STRINGEQ = @GL_GNULIB_STRINGEQ@
GL_GNULIB_STRNCAT = @GL_GNULIB_STRNCAT@
+GL_GNULIB_STRNCPY = @GL_GNULIB_STRNCPY@
GL_GNULIB_STRNDUP = @GL_GNULIB_STRNDUP@
GL_GNULIB_STRNLEN = @GL_GNULIB_STRNLEN@
+GL_GNULIB_STRNUL = @GL_GNULIB_STRNUL@
GL_GNULIB_STRPBRK = @GL_GNULIB_STRPBRK@
GL_GNULIB_STRPTIME = @GL_GNULIB_STRPTIME@
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@
@@ -828,25 +946,181 @@ GL_GNULIB_STRTOUL = @GL_GNULIB_STRTOUL@
GL_GNULIB_STRTOULL = @GL_GNULIB_STRTOULL@
GL_GNULIB_STRTOUMAX = @GL_GNULIB_STRTOUMAX@
GL_GNULIB_STRVERSCMP = @GL_GNULIB_STRVERSCMP@
+GL_GNULIB_STR_ENDSWITH = @GL_GNULIB_STR_ENDSWITH@
+GL_GNULIB_STR_STARTSWITH = @GL_GNULIB_STR_STARTSWITH@
GL_GNULIB_SYMLINK = @GL_GNULIB_SYMLINK@
GL_GNULIB_SYMLINKAT = @GL_GNULIB_SYMLINKAT@
GL_GNULIB_SYSTEM_POSIX = @GL_GNULIB_SYSTEM_POSIX@
+GL_GNULIB_SZPRINTF = @GL_GNULIB_SZPRINTF@
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_TOLOWER_L = @GL_GNULIB_TOLOWER_L@
+GL_GNULIB_TOTALORDER = @GL_GNULIB_TOTALORDER@
+GL_GNULIB_TOTALORDERF = @GL_GNULIB_TOTALORDERF@
+GL_GNULIB_TOTALORDERL = @GL_GNULIB_TOTALORDERL@
+GL_GNULIB_TOTALORDERMAG = @GL_GNULIB_TOTALORDERMAG@
+GL_GNULIB_TOTALORDERMAGF = @GL_GNULIB_TOTALORDERMAGF@
+GL_GNULIB_TOTALORDERMAGL = @GL_GNULIB_TOTALORDERMAGL@
+GL_GNULIB_TOUPPER_L = @GL_GNULIB_TOUPPER_L@
GL_GNULIB_TOWCTRANS = @GL_GNULIB_TOWCTRANS@
GL_GNULIB_TRUNC = @GL_GNULIB_TRUNC@
GL_GNULIB_TRUNCATE = @GL_GNULIB_TRUNCATE@
GL_GNULIB_TRUNCF = @GL_GNULIB_TRUNCF@
GL_GNULIB_TRUNCL = @GL_GNULIB_TRUNCL@
GL_GNULIB_TTYNAME_R = @GL_GNULIB_TTYNAME_R@
+GL_GNULIB_TZNAME = @GL_GNULIB_TZNAME@
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_MODIFIER_COMBINING_MARK_DLL_VARIABLE = @GL_GNULIB_UNICTYPE_PROPERTY_MODIFIER_COMBINING_MARK_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@
@@ -857,15 +1131,21 @@ GL_GNULIB_UNSETENV = @GL_GNULIB_UNSETENV@
GL_GNULIB_USLEEP = @GL_GNULIB_USLEEP@
GL_GNULIB_UTIMENSAT = @GL_GNULIB_UTIMENSAT@
GL_GNULIB_VASPRINTF = @GL_GNULIB_VASPRINTF@
+GL_GNULIB_VASZPRINTF = @GL_GNULIB_VASZPRINTF@
GL_GNULIB_VDPRINTF = @GL_GNULIB_VDPRINTF@
+GL_GNULIB_VDZPRINTF = @GL_GNULIB_VDZPRINTF@
GL_GNULIB_VFPRINTF = @GL_GNULIB_VFPRINTF@
GL_GNULIB_VFPRINTF_POSIX = @GL_GNULIB_VFPRINTF_POSIX@
GL_GNULIB_VFSCANF = @GL_GNULIB_VFSCANF@
+GL_GNULIB_VFZPRINTF = @GL_GNULIB_VFZPRINTF@
GL_GNULIB_VPRINTF = @GL_GNULIB_VPRINTF@
GL_GNULIB_VPRINTF_POSIX = @GL_GNULIB_VPRINTF_POSIX@
GL_GNULIB_VSCANF = @GL_GNULIB_VSCANF@
GL_GNULIB_VSNPRINTF = @GL_GNULIB_VSNPRINTF@
+GL_GNULIB_VSNZPRINTF = @GL_GNULIB_VSNZPRINTF@
GL_GNULIB_VSPRINTF_POSIX = @GL_GNULIB_VSPRINTF_POSIX@
+GL_GNULIB_VSZPRINTF = @GL_GNULIB_VSZPRINTF@
+GL_GNULIB_VZPRINTF = @GL_GNULIB_VZPRINTF@
GL_GNULIB_WCPCPY = @GL_GNULIB_WCPCPY@
GL_GNULIB_WCPNCPY = @GL_GNULIB_WCPNCPY@
GL_GNULIB_WCRTOMB = @GL_GNULIB_WCRTOMB@
@@ -898,6 +1178,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@
@@ -905,10 +1186,17 @@ GL_GNULIB_WMEMMOVE = @GL_GNULIB_WMEMMOVE@
GL_GNULIB_WMEMPCPY = @GL_GNULIB_WMEMPCPY@
GL_GNULIB_WMEMSET = @GL_GNULIB_WMEMSET@
GL_GNULIB_WRITE = @GL_GNULIB_WRITE@
+GL_GNULIB_ZPRINTF = @GL_GNULIB_ZPRINTF@
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@
+GNULIB_LOCALEDIR = @GNULIB_LOCALEDIR@
+GNULIB_LOCALEDIR_c = @GNULIB_LOCALEDIR_c@
+GNULIB_LOCALEDIR_c_make = @GNULIB_LOCALEDIR_c_make@
GREP = @GREP@
+HARD_LOCALE_LIB = @HARD_LOCALE_LIB@
HAVE_ACCEPT4 = @HAVE_ACCEPT4@
HAVE_ACOSF = @HAVE_ACOSF@
HAVE_ACOSL = @HAVE_ACOSL@
@@ -921,7 +1209,10 @@ HAVE_ATAN2F = @HAVE_ATAN2F@
HAVE_ATANF = @HAVE_ATANF@
HAVE_ATANL = @HAVE_ATANL@
HAVE_ATOLL = @HAVE_ATOLL@
+HAVE_BLKCNT_T = @HAVE_BLKCNT_T@
+HAVE_BLKSIZE_T = @HAVE_BLKSIZE_T@
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@
@@ -929,29 +1220,26 @@ HAVE_CBRTF = @HAVE_CBRTF@
HAVE_CBRTL = @HAVE_CBRTL@
HAVE_CHOWN = @HAVE_CHOWN@
HAVE_COPYSIGN = @HAVE_COPYSIGN@
+HAVE_COPYSIGNF = @HAVE_COPYSIGNF@
HAVE_COPYSIGNL = @HAVE_COPYSIGNL@
HAVE_COPY_FILE_RANGE = @HAVE_COPY_FILE_RANGE@
HAVE_COSF = @HAVE_COSF@
HAVE_COSHF = @HAVE_COSHF@
HAVE_COSL = @HAVE_COSL@
HAVE_CRTDEFS_H = @HAVE_CRTDEFS_H@
+HAVE_CXX_STDCKDINT_H = @HAVE_CXX_STDCKDINT_H@
+HAVE_C_STDCKDINT_H = @HAVE_C_STDCKDINT_H@
+HAVE_C_UNREACHABLE = @HAVE_C_UNREACHABLE@
HAVE_DECL_ACOSL = @HAVE_DECL_ACOSL@
HAVE_DECL_ASINL = @HAVE_DECL_ASINL@
HAVE_DECL_ATANL = @HAVE_DECL_ATANL@
-HAVE_DECL_CBRTF = @HAVE_DECL_CBRTF@
-HAVE_DECL_CBRTL = @HAVE_DECL_CBRTL@
HAVE_DECL_CEILF = @HAVE_DECL_CEILF@
HAVE_DECL_CEILL = @HAVE_DECL_CEILL@
-HAVE_DECL_COPYSIGNF = @HAVE_DECL_COPYSIGNF@
HAVE_DECL_COSL = @HAVE_DECL_COSL@
HAVE_DECL_ECVT = @HAVE_DECL_ECVT@
HAVE_DECL_ENVIRON = @HAVE_DECL_ENVIRON@
HAVE_DECL_EXECVPE = @HAVE_DECL_EXECVPE@
-HAVE_DECL_EXP2 = @HAVE_DECL_EXP2@
-HAVE_DECL_EXP2F = @HAVE_DECL_EXP2F@
-HAVE_DECL_EXP2L = @HAVE_DECL_EXP2L@
HAVE_DECL_EXPL = @HAVE_DECL_EXPL@
-HAVE_DECL_EXPM1L = @HAVE_DECL_EXPM1L@
HAVE_DECL_FCHDIR = @HAVE_DECL_FCHDIR@
HAVE_DECL_FCLOSEALL = @HAVE_DECL_FCLOSEALL@
HAVE_DECL_FCVT = @HAVE_DECL_FCVT@
@@ -971,6 +1259,9 @@ 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_HTONL = @HAVE_DECL_HTONL@
+HAVE_DECL_HTONS = @HAVE_DECL_HTONS@
HAVE_DECL_IMAXABS = @HAVE_DECL_IMAXABS@
HAVE_DECL_IMAXDIV = @HAVE_DECL_IMAXDIV@
HAVE_DECL_INET_NTOP = @HAVE_DECL_INET_NTOP@
@@ -979,20 +1270,16 @@ HAVE_DECL_INITSTATE = @HAVE_DECL_INITSTATE@
HAVE_DECL_LDEXPL = @HAVE_DECL_LDEXPL@
HAVE_DECL_LOCALTIME_R = @HAVE_DECL_LOCALTIME_R@
HAVE_DECL_LOG10L = @HAVE_DECL_LOG10L@
-HAVE_DECL_LOG2 = @HAVE_DECL_LOG2@
-HAVE_DECL_LOG2F = @HAVE_DECL_LOG2F@
-HAVE_DECL_LOG2L = @HAVE_DECL_LOG2L@
HAVE_DECL_LOGB = @HAVE_DECL_LOGB@
HAVE_DECL_LOGL = @HAVE_DECL_LOGL@
+HAVE_DECL_MEMEQ = @HAVE_DECL_MEMEQ@
HAVE_DECL_MEMMEM = @HAVE_DECL_MEMMEM@
HAVE_DECL_MEMRCHR = @HAVE_DECL_MEMRCHR@
+HAVE_DECL_NTOHL = @HAVE_DECL_NTOHL@
+HAVE_DECL_NTOHS = @HAVE_DECL_NTOHS@
HAVE_DECL_OBSTACK_PRINTF = @HAVE_DECL_OBSTACK_PRINTF@
-HAVE_DECL_REMAINDER = @HAVE_DECL_REMAINDER@
-HAVE_DECL_REMAINDERL = @HAVE_DECL_REMAINDERL@
-HAVE_DECL_RINTF = @HAVE_DECL_RINTF@
-HAVE_DECL_ROUND = @HAVE_DECL_ROUND@
-HAVE_DECL_ROUNDF = @HAVE_DECL_ROUNDF@
-HAVE_DECL_ROUNDL = @HAVE_DECL_ROUNDL@
+HAVE_DECL_PROGRAM_INVOCATION_NAME = @HAVE_DECL_PROGRAM_INVOCATION_NAME@
+HAVE_DECL_PUTW = @HAVE_DECL_PUTW@
HAVE_DECL_SETENV = @HAVE_DECL_SETENV@
HAVE_DECL_SETHOSTNAME = @HAVE_DECL_SETHOSTNAME@
HAVE_DECL_SETSTATE = @HAVE_DECL_SETSTATE@
@@ -1000,6 +1287,7 @@ HAVE_DECL_SINL = @HAVE_DECL_SINL@
HAVE_DECL_SNPRINTF = @HAVE_DECL_SNPRINTF@
HAVE_DECL_SQRTL = @HAVE_DECL_SQRTL@
HAVE_DECL_STRDUP = @HAVE_DECL_STRDUP@
+HAVE_DECL_STREQ = @HAVE_DECL_STREQ@
HAVE_DECL_STRERROR_R = @HAVE_DECL_STRERROR_R@
HAVE_DECL_STRNDUP = @HAVE_DECL_STRNDUP@
HAVE_DECL_STRNLEN = @HAVE_DECL_STRNLEN@
@@ -1016,18 +1304,24 @@ HAVE_DECL_TTYNAME_R = @HAVE_DECL_TTYNAME_R@
HAVE_DECL_UNSETENV = @HAVE_DECL_UNSETENV@
HAVE_DECL_VSNPRINTF = @HAVE_DECL_VSNPRINTF@
HAVE_DECL_WCSDUP = @HAVE_DECL_WCSDUP@
-HAVE_DECL_WCTOB = @HAVE_DECL_WCTOB@
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_EXP2 = @HAVE_EXP2@
+HAVE_EXP2F = @HAVE_EXP2F@
+HAVE_EXP2L = @HAVE_EXP2L@
HAVE_EXPF = @HAVE_EXPF@
HAVE_EXPL = @HAVE_EXPL@
HAVE_EXPLICIT_BZERO = @HAVE_EXPLICIT_BZERO@
HAVE_EXPM1 = @HAVE_EXPM1@
HAVE_EXPM1F = @HAVE_EXPM1F@
+HAVE_EXPM1L = @HAVE_EXPM1L@
HAVE_FABSF = @HAVE_FABSF@
HAVE_FABSL = @HAVE_FABSL@
HAVE_FACCESSAT = @HAVE_FACCESSAT@
@@ -1056,9 +1350,14 @@ HAVE_GETDTABLESIZE = @HAVE_GETDTABLESIZE@
HAVE_GETENTROPY = @HAVE_GETENTROPY@
HAVE_GETGROUPS = @HAVE_GETGROUPS@
HAVE_GETHOSTNAME = @HAVE_GETHOSTNAME@
+HAVE_GETLOCALENAME_L = @HAVE_GETLOCALENAME_L@
HAVE_GETLOGIN = @HAVE_GETLOGIN@
HAVE_GETPAGESIZE = @HAVE_GETPAGESIZE@
HAVE_GETPASS = @HAVE_GETPASS@
+HAVE_GETPAYLOAD = @HAVE_GETPAYLOAD@
+HAVE_GETPAYLOADF = @HAVE_GETPAYLOADF@
+HAVE_GETPAYLOADL = @HAVE_GETPAYLOADL@
+HAVE_GETPROGNAME = @HAVE_GETPROGNAME@
HAVE_GETSUBOPT = @HAVE_GETSUBOPT@
HAVE_GETTIMEOFDAY = @HAVE_GETTIMEOFDAY@
HAVE_GETUMASK = @HAVE_GETUMASK@
@@ -1070,38 +1369,55 @@ 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@
+HAVE_ISALNUM_L = @HAVE_ISALNUM_L@
+HAVE_ISALPHA_L = @HAVE_ISALPHA_L@
HAVE_ISBLANK = @HAVE_ISBLANK@
+HAVE_ISBLANK_L = @HAVE_ISBLANK_L@
+HAVE_ISCNTRL_L = @HAVE_ISCNTRL_L@
+HAVE_ISDIGIT_L = @HAVE_ISDIGIT_L@
+HAVE_ISGRAPH_L = @HAVE_ISGRAPH_L@
+HAVE_ISLOWER_L = @HAVE_ISLOWER_L@
HAVE_ISNAND = @HAVE_ISNAND@
HAVE_ISNANF = @HAVE_ISNANF@
HAVE_ISNANL = @HAVE_ISNANL@
+HAVE_ISPRINT_L = @HAVE_ISPRINT_L@
+HAVE_ISPUNCT_L = @HAVE_ISPUNCT_L@
+HAVE_ISSPACE_L = @HAVE_ISSPACE_L@
+HAVE_ISUPPER_L = @HAVE_ISUPPER_L@
HAVE_ISWBLANK = @HAVE_ISWBLANK@
HAVE_ISWCNTRL = @HAVE_ISWCNTRL@
-HAVE_LANGINFO_ALTMON = @HAVE_LANGINFO_ALTMON@
-HAVE_LANGINFO_CODESET = @HAVE_LANGINFO_CODESET@
-HAVE_LANGINFO_ERA = @HAVE_LANGINFO_ERA@
-HAVE_LANGINFO_H = @HAVE_LANGINFO_H@
-HAVE_LANGINFO_T_FMT_AMPM = @HAVE_LANGINFO_T_FMT_AMPM@
-HAVE_LANGINFO_YESEXPR = @HAVE_LANGINFO_YESEXPR@
+HAVE_ISXDIGIT_L = @HAVE_ISXDIGIT_L@
HAVE_LCHMOD = @HAVE_LCHMOD@
HAVE_LCHOWN = @HAVE_LCHOWN@
HAVE_LDEXPF = @HAVE_LDEXPF@
HAVE_LINK = @HAVE_LINK@
HAVE_LINKAT = @HAVE_LINKAT@
+HAVE_LOCALE_T = @HAVE_LOCALE_T@
HAVE_LOG10F = @HAVE_LOG10F@
HAVE_LOG10L = @HAVE_LOG10L@
HAVE_LOG1P = @HAVE_LOG1P@
HAVE_LOG1PF = @HAVE_LOG1PF@
HAVE_LOG1PL = @HAVE_LOG1PL@
+HAVE_LOG2 = @HAVE_LOG2@
+HAVE_LOG2F = @HAVE_LOG2F@
+HAVE_LOG2L = @HAVE_LOG2L@
HAVE_LOGBF = @HAVE_LOGBF@
HAVE_LOGBL = @HAVE_LOGBL@
HAVE_LOGF = @HAVE_LOGF@
HAVE_LOGL = @HAVE_LOGL@
+HAVE_LOGP1 = @HAVE_LOGP1@
+HAVE_LOGP1F = @HAVE_LOGP1F@
+HAVE_LOGP1L = @HAVE_LOGP1L@
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 +1425,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@
@@ -1125,8 +1442,9 @@ HAVE_MSVC_INVALID_PARAMETER_HANDLER = @HAVE_MSVC_INVALID_PARAMETER_HANDLER@
HAVE_NANOSLEEP = @HAVE_NANOSLEEP@
HAVE_NETINET_IN_H = @HAVE_NETINET_IN_H@
HAVE_NEWLOCALE = @HAVE_NEWLOCALE@
-HAVE_NL_LANGINFO = @HAVE_NL_LANGINFO@
+HAVE_OFF64_T = @HAVE_OFF64_T@
HAVE_OPENAT = @HAVE_OPENAT@
+HAVE_OPENAT2 = @HAVE_OPENAT2@
HAVE_OS_H = @HAVE_OS_H@
HAVE_PCLOSE = @HAVE_PCLOSE@
HAVE_PIPE = @HAVE_PIPE@
@@ -1203,7 +1521,6 @@ HAVE_PWRITE = @HAVE_PWRITE@
HAVE_QSORT_R = @HAVE_QSORT_R@
HAVE_RAISE = @HAVE_RAISE@
HAVE_RANDOM = @HAVE_RANDOM@
-HAVE_RANDOM_H = @HAVE_RANDOM_H@
HAVE_RANDOM_R = @HAVE_RANDOM_R@
HAVE_RAWMEMCHR = @HAVE_RAWMEMCHR@
HAVE_READLINK = @HAVE_READLINK@
@@ -1212,9 +1529,14 @@ HAVE_REALLOCARRAY = @HAVE_REALLOCARRAY@
HAVE_REALPATH = @HAVE_REALPATH@
HAVE_REMAINDER = @HAVE_REMAINDER@
HAVE_REMAINDERF = @HAVE_REMAINDERF@
+HAVE_REMAINDERL = @HAVE_REMAINDERL@
HAVE_RENAMEAT = @HAVE_RENAMEAT@
HAVE_RINT = @HAVE_RINT@
+HAVE_RINTF = @HAVE_RINTF@
HAVE_RINTL = @HAVE_RINTL@
+HAVE_ROUND = @HAVE_ROUND@
+HAVE_ROUNDF = @HAVE_ROUNDF@
+HAVE_ROUNDL = @HAVE_ROUNDL@
HAVE_RPMATCH = @HAVE_RPMATCH@
HAVE_SAME_LONG_DOUBLE_AS_DOUBLE = @HAVE_SAME_LONG_DOUBLE_AS_DOUBLE@
HAVE_SA_FAMILY_T = @HAVE_SA_FAMILY_T@
@@ -1223,7 +1545,14 @@ HAVE_SCHED_YIELD = @HAVE_SCHED_YIELD@
HAVE_SECURE_GETENV = @HAVE_SECURE_GETENV@
HAVE_SETENV = @HAVE_SETENV@
HAVE_SETHOSTNAME = @HAVE_SETHOSTNAME@
+HAVE_SETPAYLOAD = @HAVE_SETPAYLOAD@
+HAVE_SETPAYLOADF = @HAVE_SETPAYLOADF@
+HAVE_SETPAYLOADL = @HAVE_SETPAYLOADL@
+HAVE_SETPAYLOADSIG = @HAVE_SETPAYLOADSIG@
+HAVE_SETPAYLOADSIGF = @HAVE_SETPAYLOADSIGF@
+HAVE_SETPAYLOADSIGL = @HAVE_SETPAYLOADSIGL@
HAVE_SETSTATE = @HAVE_SETSTATE@
+HAVE_SIG2STR = @HAVE_SIG2STR@
HAVE_SIGABBREV_NP = @HAVE_SIGABBREV_NP@
HAVE_SIGACTION = @HAVE_SIGACTION@
HAVE_SIGDESCR_NP = @HAVE_SIGDESCR_NP@
@@ -1239,16 +1568,20 @@ HAVE_SINL = @HAVE_SINL@
HAVE_SLEEP = @HAVE_SLEEP@
HAVE_SQRTF = @HAVE_SQRTF@
HAVE_SQRTL = @HAVE_SQRTL@
+HAVE_STDCKDINT_H = @HAVE_STDCKDINT_H@
HAVE_STDINT_H = @HAVE_STDINT_H@
HAVE_STPCPY = @HAVE_STPCPY@
HAVE_STPNCPY = @HAVE_STPNCPY@
+HAVE_STR2SIG = @HAVE_STR2SIG@
HAVE_STRCASESTR = @HAVE_STRCASESTR@
HAVE_STRCHRNUL = @HAVE_STRCHRNUL@
HAVE_STRERRORNAME_NP = @HAVE_STRERRORNAME_NP@
+HAVE_STRERROR_L = @HAVE_STRERROR_L@
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@
@@ -1269,6 +1602,7 @@ HAVE_SYS_INTTYPES_H = @HAVE_SYS_INTTYPES_H@
HAVE_SYS_IOCTL_H = @HAVE_SYS_IOCTL_H@
HAVE_SYS_LOADAVG_H = @HAVE_SYS_LOADAVG_H@
HAVE_SYS_PARAM_H = @HAVE_SYS_PARAM_H@
+HAVE_SYS_PROCESS_H = @HAVE_SYS_PROCESS_H@
HAVE_SYS_SELECT_H = @HAVE_SYS_SELECT_H@
HAVE_SYS_SOCKET_H = @HAVE_SYS_SOCKET_H@
HAVE_SYS_TIME_H = @HAVE_SYS_TIME_H@
@@ -1281,8 +1615,19 @@ HAVE_TIMEGM = @HAVE_TIMEGM@
HAVE_TIMESPEC_GET = @HAVE_TIMESPEC_GET@
HAVE_TIMESPEC_GETRES = @HAVE_TIMESPEC_GETRES@
HAVE_TIMEZONE_T = @HAVE_TIMEZONE_T@
+HAVE_TOLOWER_L = @HAVE_TOLOWER_L@
+HAVE_TOTALORDER = @HAVE_TOTALORDER@
+HAVE_TOTALORDERF = @HAVE_TOTALORDERF@
+HAVE_TOTALORDERL = @HAVE_TOTALORDERL@
+HAVE_TOTALORDERMAG = @HAVE_TOTALORDERMAG@
+HAVE_TOTALORDERMAGF = @HAVE_TOTALORDERMAGF@
+HAVE_TOTALORDERMAGL = @HAVE_TOTALORDERMAGL@
+HAVE_TOUPPER_L = @HAVE_TOUPPER_L@
HAVE_TYPE_VOLATILE_SIG_ATOMIC_T = @HAVE_TYPE_VOLATILE_SIG_ATOMIC_T@
+HAVE_TZALLOC = @HAVE_TZALLOC@
+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@
@@ -1291,7 +1636,6 @@ HAVE_VASPRINTF = @HAVE_VASPRINTF@
HAVE_VDPRINTF = @HAVE_VDPRINTF@
HAVE_VISIBILITY = @HAVE_VISIBILITY@
HAVE_WCHAR_H = @HAVE_WCHAR_H@
-HAVE_WCHAR_T = @HAVE_WCHAR_T@
HAVE_WCPCPY = @HAVE_WCPCPY@
HAVE_WCPNCPY = @HAVE_WCPNCPY@
HAVE_WCRTOMB = @HAVE_WCRTOMB@
@@ -1319,9 +1663,11 @@ HAVE_WCSSTR = @HAVE_WCSSTR@
HAVE_WCSTOK = @HAVE_WCSTOK@
HAVE_WCSWIDTH = @HAVE_WCSWIDTH@
HAVE_WCSXFRM = @HAVE_WCSXFRM@
+HAVE_WCTOB = @HAVE_WCTOB@
HAVE_WCTRANS_T = @HAVE_WCTRANS_T@
HAVE_WCTYPE_H = @HAVE_WCTYPE_H@
HAVE_WCTYPE_T = @HAVE_WCTYPE_T@
+HAVE_WINDOWS_LOCALE_T = @HAVE_WINDOWS_LOCALE_T@
HAVE_WINSOCK2_H = @HAVE_WINSOCK2_H@
HAVE_WINT_T = @HAVE_WINT_T@
HAVE_WMEMCHR = @HAVE_WMEMCHR@
@@ -1330,6 +1676,10 @@ HAVE_WMEMCPY = @HAVE_WMEMCPY@
HAVE_WMEMMOVE = @HAVE_WMEMMOVE@
HAVE_WMEMPCPY = @HAVE_WMEMPCPY@
HAVE_WMEMSET = @HAVE_WMEMSET@
+HAVE_WORKING_C32RTOMB = @HAVE_WORKING_C32RTOMB@
+HAVE_WORKING_CXX_STDCKDINT_H = @HAVE_WORKING_CXX_STDCKDINT_H@
+HAVE_WORKING_C_STDCKDINT_H = @HAVE_WORKING_C_STDCKDINT_H@
+HAVE_WORKING_MBRTOC32 = @HAVE_WORKING_MBRTOC32@
HAVE_WS2TCPIP_H = @HAVE_WS2TCPIP_H@
HAVE_XLOCALE_H = @HAVE_XLOCALE_H@
HAVE__EXIT = @HAVE__EXIT@
@@ -1347,8 +1697,13 @@ 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@
+LIBDL = @LIBDL@
LIBICONV = @LIBICONV@
LIBINTL = @LIBINTL@
LIBMULTITHREAD = @LIBMULTITHREAD@
@@ -1366,6 +1721,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@
@@ -1389,6 +1745,7 @@ LN_S = @LN_S@
LOCALCHARSET_TESTS_ENVIRONMENT = @LOCALCHARSET_TESTS_ENVIRONMENT@
LOCALENAME_ENHANCE_LOCALE_FUNCS = @LOCALENAME_ENHANCE_LOCALE_FUNCS@
LOCALE_AR = @LOCALE_AR@
+LOCALE_EN_UTF8 = @LOCALE_EN_UTF8@
LOCALE_FR = @LOCALE_FR@
LOCALE_FR_UTF8 = @LOCALE_FR_UTF8@
LOCALE_JA = @LOCALE_JA@
@@ -1400,10 +1757,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,11 +1776,11 @@ 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@
NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H = @NEXT_AS_FIRST_DIRECTIVE_INTTYPES_H@
-NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H = @NEXT_AS_FIRST_DIRECTIVE_LANGINFO_H@
NEXT_AS_FIRST_DIRECTIVE_LIMITS_H = @NEXT_AS_FIRST_DIRECTIVE_LIMITS_H@
NEXT_AS_FIRST_DIRECTIVE_LOCALE_H = @NEXT_AS_FIRST_DIRECTIVE_LOCALE_H@
NEXT_AS_FIRST_DIRECTIVE_MATH_H = @NEXT_AS_FIRST_DIRECTIVE_MATH_H@
@@ -1423,6 +1788,7 @@ NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H = @NEXT_AS_FIRST_DIRECTIVE_NETINET_IN_H@
NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H = @NEXT_AS_FIRST_DIRECTIVE_PTHREAD_H@
NEXT_AS_FIRST_DIRECTIVE_SCHED_H = @NEXT_AS_FIRST_DIRECTIVE_SCHED_H@
NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H = @NEXT_AS_FIRST_DIRECTIVE_SIGNAL_H@
+NEXT_AS_FIRST_DIRECTIVE_STDCKDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDCKDINT_H@
NEXT_AS_FIRST_DIRECTIVE_STDDEF_H = @NEXT_AS_FIRST_DIRECTIVE_STDDEF_H@
NEXT_AS_FIRST_DIRECTIVE_STDINT_H = @NEXT_AS_FIRST_DIRECTIVE_STDINT_H@
NEXT_AS_FIRST_DIRECTIVE_STDIO_H = @NEXT_AS_FIRST_DIRECTIVE_STDIO_H@
@@ -1436,16 +1802,17 @@ 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@
NEXT_INTTYPES_H = @NEXT_INTTYPES_H@
-NEXT_LANGINFO_H = @NEXT_LANGINFO_H@
NEXT_LIMITS_H = @NEXT_LIMITS_H@
NEXT_LOCALE_H = @NEXT_LOCALE_H@
NEXT_MATH_H = @NEXT_MATH_H@
@@ -1453,6 +1820,7 @@ NEXT_NETINET_IN_H = @NEXT_NETINET_IN_H@
NEXT_PTHREAD_H = @NEXT_PTHREAD_H@
NEXT_SCHED_H = @NEXT_SCHED_H@
NEXT_SIGNAL_H = @NEXT_SIGNAL_H@
+NEXT_STDCKDINT_H = @NEXT_STDCKDINT_H@
NEXT_STDDEF_H = @NEXT_STDDEF_H@
NEXT_STDINT_H = @NEXT_STDINT_H@
NEXT_STDIO_H = @NEXT_STDIO_H@
@@ -1466,11 +1834,13 @@ 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@
NM = @NM@
NMEDIT = @NMEDIT@
+NULLPTR_T_NEEDS_STDDEF = @NULLPTR_T_NEEDS_STDDEF@
OBJDUMP = @OBJDUMP@
OBJEXT = @OBJEXT@
OTOOL = @OTOOL@
@@ -1488,10 +1858,13 @@ 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_ONCE_LIB = @PTHREAD_ONCE_LIB@
+PTHREAD_SIGMASK_LIB = @PTHREAD_SIGMASK_LIB@
PTRDIFF_T_SUFFIX = @PTRDIFF_T_SUFFIX@
RANLIB = @RANLIB@
RC = @RC@
RELOCATABLE = @RELOCATABLE@
+REPLACE_ABORT = @REPLACE_ABORT@
REPLACE_ACCESS = @REPLACE_ACCESS@
REPLACE_ACOSF = @REPLACE_ACOSF@
REPLACE_ALIGNED_ALLOC = @REPLACE_ALIGNED_ALLOC@
@@ -1499,6 +1872,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 +1892,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 +1912,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,13 +1952,23 @@ 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_GETLOCALENAME_L = @REPLACE_GETLOCALENAME_L@
+REPLACE_GETLOGIN = @REPLACE_GETLOGIN@
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_GETPAYLOAD = @REPLACE_GETPAYLOAD@
+REPLACE_GETPAYLOADF = @REPLACE_GETPAYLOADF@
+REPLACE_GETPAYLOADL = @REPLACE_GETPAYLOADL@
+REPLACE_GETPROGNAME = @REPLACE_GETPROGNAME@
+REPLACE_GETSUBOPT = @REPLACE_GETSUBOPT@
REPLACE_GETTIMEOFDAY = @REPLACE_GETTIMEOFDAY@
+REPLACE_GETUSERSHELL = @REPLACE_GETUSERSHELL@
REPLACE_GMTIME = @REPLACE_GMTIME@
REPLACE_HUGE_VAL = @REPLACE_HUGE_VAL@
REPLACE_HYPOT = @REPLACE_HYPOT@
@@ -1591,6 +1980,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,15 +1993,18 @@ 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@
REPLACE_LOCALECONV = @REPLACE_LOCALECONV@
REPLACE_LOCALTIME = @REPLACE_LOCALTIME@
REPLACE_LOCALTIME_R = @REPLACE_LOCALTIME_R@
+REPLACE_LOCALTIME_RZ = @REPLACE_LOCALTIME_RZ@
REPLACE_LOG = @REPLACE_LOG@
REPLACE_LOG10 = @REPLACE_LOG10@
REPLACE_LOG10F = @REPLACE_LOG10F@
@@ -1631,35 +2025,45 @@ 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_MKTIME_Z = @REPLACE_MKTIME_Z@
REPLACE_MODF = @REPLACE_MODF@
REPLACE_MODFF = @REPLACE_MODFF@
REPLACE_MODFL = @REPLACE_MODFL@
REPLACE_NAN = @REPLACE_NAN@
REPLACE_NANOSLEEP = @REPLACE_NANOSLEEP@
REPLACE_NEWLOCALE = @REPLACE_NEWLOCALE@
-REPLACE_NL_LANGINFO = @REPLACE_NL_LANGINFO@
REPLACE_NULL = @REPLACE_NULL@
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,13 +2125,13 @@ 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@
REPLACE_READLINK = @REPLACE_READLINK@
REPLACE_READLINKAT = @REPLACE_READLINKAT@
REPLACE_REALLOCARRAY = @REPLACE_REALLOCARRAY@
-REPLACE_REALLOC_FOR_REALLOC_GNU = @REPLACE_REALLOC_FOR_REALLOC_GNU@
REPLACE_REALLOC_FOR_REALLOC_POSIX = @REPLACE_REALLOC_FOR_REALLOC_POSIX@
REPLACE_REALPATH = @REPLACE_REALPATH@
REPLACE_REMAINDER = @REPLACE_REMAINDER@
@@ -1744,12 +2148,14 @@ 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@
REPLACE_SIGNBIT_USING_BUILTINS = @REPLACE_SIGNBIT_USING_BUILTINS@
REPLACE_SINF = @REPLACE_SINF@
REPLACE_SINHF = @REPLACE_SINHF@
+REPLACE_SINL = @REPLACE_SINL@
REPLACE_SLEEP = @REPLACE_SLEEP@
REPLACE_SNPRINTF = @REPLACE_SNPRINTF@
REPLACE_SPRINTF = @REPLACE_SPRINTF@
@@ -1758,20 +2164,24 @@ 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@
REPLACE_STRDUP = @REPLACE_STRDUP@
REPLACE_STRERROR = @REPLACE_STRERROR@
REPLACE_STRERRORNAME_NP = @REPLACE_STRERRORNAME_NP@
+REPLACE_STRERROR_L = @REPLACE_STRERROR_L@
REPLACE_STRERROR_R = @REPLACE_STRERROR_R@
REPLACE_STRFTIME = @REPLACE_STRFTIME@
REPLACE_STRNCAT = @REPLACE_STRNCAT@
+REPLACE_STRNCPY = @REPLACE_STRNCPY@
REPLACE_STRNDUP = @REPLACE_STRNDUP@
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 +2192,22 @@ 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_TOTALORDERMAG = @REPLACE_TOTALORDERMAG@
+REPLACE_TOTALORDERMAGF = @REPLACE_TOTALORDERMAGF@
+REPLACE_TOTALORDERMAGL = @REPLACE_TOTALORDERMAGL@
REPLACE_TOWLOWER = @REPLACE_TOWLOWER@
REPLACE_TRUNC = @REPLACE_TRUNC@
REPLACE_TRUNCATE = @REPLACE_TRUNCATE@
@@ -1807,23 +2227,37 @@ 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_WCSNCAT = @REPLACE_WCSNCAT@
+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@
+STDDEF_NOT_IDEMPOTENT = @STDDEF_NOT_IDEMPOTENT@
STDINT_H = @STDINT_H@
STRIP = @STRIP@
SYS_IOCTL_H_HAVE_WINSOCK2_H = @SYS_IOCTL_H_HAVE_WINSOCK2_H@
@@ -1850,6 +2284,7 @@ WINDOWS_64_BIT_OFF_T = @WINDOWS_64_BIT_OFF_T@
WINDOWS_64_BIT_ST_SIZE = @WINDOWS_64_BIT_ST_SIZE@
WINDOWS_STAT_INODES = @WINDOWS_STAT_INODES@
WINDOWS_STAT_TIMESPEC = @WINDOWS_STAT_TIMESPEC@
+WINDRES = @WINDRES@
WINT_T_SUFFIX = @WINT_T_SUFFIX@
YIELD_LIB = @YIELD_LIB@
abs_builddir = @abs_builddir@
@@ -1862,8 +2297,10 @@ ac_ct_DUMPBIN = @ac_ct_DUMPBIN@
am__include = @am__include@
am__leading_dot = @am__leading_dot@
am__quote = @am__quote@
+am__rm_f_notfound = @am__rm_f_notfound@
am__tar = @am__tar@
am__untar = @am__untar@
+am__xargs_n = @am__xargs_n@
bindir = @bindir@
build = @build@
build_alias = @build_alias@
@@ -1879,10 +2316,16 @@ exec_prefix = @exec_prefix@
gl_LIBOBJDEPS = @gl_LIBOBJDEPS@
gl_LIBOBJS = @gl_LIBOBJS@
gl_LTLIBOBJS = @gl_LTLIBOBJS@
+gl_libunistring_LIBOBJDEPS = @gl_libunistring_LIBOBJDEPS@
+gl_libunistring_LIBOBJS = @gl_libunistring_LIBOBJS@
+gl_libunistring_LTLIBOBJS = @gl_libunistring_LTLIBOBJS@
gltests_LIBOBJDEPS = @gltests_LIBOBJDEPS@
gltests_LIBOBJS = @gltests_LIBOBJS@
gltests_LTLIBOBJS = @gltests_LTLIBOBJS@
gltests_WITNESS = @gltests_WITNESS@
+gltests_libunistring_LIBOBJDEPS = @gltests_libunistring_LIBOBJDEPS@
+gltests_libunistring_LIBOBJS = @gltests_libunistring_LIBOBJS@
+gltests_libunistring_LTLIBOBJS = @gltests_libunistring_LTLIBOBJS@
host = @host@
host_alias = @host_alias@
host_cpu = @host_cpu@
@@ -1903,6 +2346,8 @@ pdfdir = @pdfdir@
prefix = @prefix@
program_transform_name = @program_transform_name@
psdir = @psdir@
+reloc_final_prefix_c = @reloc_final_prefix_c@
+reloc_final_prefix_c_make = @reloc_final_prefix_c_make@
runstatedir = @runstatedir@
sbindir = @sbindir@
sharedstatedir = @sharedstatedir@
@@ -2008,13 +2453,13 @@ clean-libtool:
.texi.dvi:
$(AM_V_TEXI2DVI)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2DVI) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
+ $(TEXI2DVI) $(AM_TEXI2FLAGS) -I $(srcdir) $(AM_V_texinfo) --build-dir=$(@:.dvi=.t2d) -o $@ $(AM_V_texidevnull) \
$<
.texi.pdf:
$(AM_V_TEXI2PDF)TEXINPUTS="$(am__TEXINFO_TEX_DIR)$(PATH_SEPARATOR)$$TEXINPUTS" \
MAKEINFO='$(MAKEINFO) $(AM_MAKEINFOFLAGS) $(MAKEINFOFLAGS) -I $(srcdir)' \
- $(TEXI2PDF) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
+ $(TEXI2PDF) $(AM_TEXI2FLAGS) -I $(srcdir) $(AM_V_texinfo) --build-dir=$(@:.pdf=.t2p) -o $@ $(AM_V_texidevnull) \
$<
.texi.html:
@@ -2117,11 +2562,10 @@ dist-info: $(INFO_DEPS)
done
mostlyclean-aminfo:
- -rm -rf libunistring.t2d libunistring.t2p
+ -$(am__rm_rf) libunistring.t2d libunistring.t2p
clean-aminfo:
- -test -z "libunistring.dvi libunistring.pdf libunistring.ps libunistring.html" \
- || rm -rf libunistring.dvi libunistring.pdf libunistring.ps libunistring.html
+ -$(am__rm_rf) libunistring.dvi libunistring.pdf libunistring.ps libunistring.html
maintainer-clean-aminfo:
@list='$(INFO_DEPS)'; for i in $$list; do \
@@ -2135,6 +2579,7 @@ ctags CTAGS:
cscope cscopelist:
+
distdir: $(BUILT_SOURCES)
$(MAKE) $(AM_MAKEFLAGS) distdir-am
@@ -2198,18 +2643,18 @@ install-strip:
"INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'" install; \
fi
mostlyclean-generic:
- -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+ -$(am__rm_f) $(MOSTLYCLEANFILES)
clean-generic:
distclean-generic:
- -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
- -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES)
+ -$(am__rm_f) $(CONFIG_CLEAN_FILES)
+ -test . = "$(srcdir)" || $(am__rm_f) $(CONFIG_CLEAN_VPATH_FILES)
maintainer-clean-generic:
@echo "This command is intended for maintainers to use"
@echo "it deletes files that may require special tools to rebuild."
- -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -$(am__rm_f) $(MAINTAINERCLEANFILES)
clean: clean-am
clean-am: clean-aminfo clean-generic clean-libtool mostlyclean-am
@@ -2512,3 +2957,10 @@ dist-html-split: libunistring_toc.html
# 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:
+
+# Tell GNU make to disable its built-in pattern rules.
+%:: %,v
+%:: RCS/%,v
+%:: RCS/%
+%:: s.%
+%:: SCCS/s.%
diff --git a/doc/fdl.texi b/doc/fdl.texi
index 542edaad..eaf3da0e 100644
--- a/doc/fdl.texi
+++ b/doc/fdl.texi
@@ -414,7 +414,7 @@ The Free Software Foundation may publish new, revised versions
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
-@uref{https://www.gnu.org/copyleft/}.
+@uref{https://www.gnu.org/licenses/}.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
diff --git a/doc/libunistring.info b/doc/libunistring.info
index 8c3b81f1..7f11215c 100644
--- a/doc/libunistring.info
+++ b/doc/libunistring.info
@@ -1,4 +1,4 @@
-This is libunistring.info, produced by makeinfo version 6.8 from
+This is libunistring.info, produced by makeinfo version 7.1 from
libunistring.texi.
INFO-DIR-SECTION Software development
@@ -39,7 +39,7 @@ GNU libunistring
* Index:: General Index
- — The Detailed Node Listing —
+ -- The Detailed Node Listing --
Introduction
@@ -243,7 +243,7 @@ processing of pure Japanese text was error prone.
• The Unicode standard: <https://www.unicode.org/>
• Definition of UTF-8: <https://www.rfc-editor.org/rfc/rfc3629.txt>
• Definition of UTF-16: <https://www.rfc-editor.org/rfc/rfc2781.txt>
- • Markus Kuhn’s UTF-8 and Unicode FAQ:
+ • Markus Kuhn's UTF-8 and Unicode FAQ:
<https://www.cl.cam.ac.uk/~mgk25/unicode.html>

@@ -260,7 +260,7 @@ culture specific data (translations, images etc.) are provided.
it makes internationalization much easier, because operations that need
to look at specific characters (like hyphenation, spell checking, or the
automatic conversion of double-quotes to opening and closing
-double-quote characters) don’t need to consider multiple possible
+double-quote characters) don't need to consider multiple possible
encodings of the text.
Use of Unicode also enables multilingualization: the ability of
@@ -289,10 +289,10 @@ File: libunistring.info, Node: Locale encodings, Next: In-memory representatio
A locale is a set of cultural conventions. According to POSIX, for a
program, at any moment, there is one locale being designated as the
-“current locale”. (Actually, POSIX supports also one locale per thread,
+"current locale". (Actually, POSIX supports also one locale per thread,
but this feature is not yet universally implemented and not widely
used.) The locale is partitioned into several aspects, called the
-“categories” of the locale. The main various aspects are:
+"categories" of the locale. The main various aspects are:
• The character encoding and the character properties. This is the
‘LC_CTYPE’ category.
• The sorting rules for text. This is the ‘LC_COLLATE’ category.
@@ -306,7 +306,7 @@ used.) The locale is partitioned into several aspects, called the
In particular, the ‘LC_CTYPE’ category of the current locale
determines the character encoding. This is the encoding of ‘char *’
-strings. We also call it the “locale encoding”. GNU libunistring has a
+strings. We also call it the "locale encoding". GNU libunistring has a
function, ‘locale_charset’, that returns a standardized (platform
independent) name for this encoding.
@@ -316,7 +316,7 @@ as a single byte, in that encoding as in ASCII.
Among the possible locale encodings are UTF-8 and GB18030. Both
allow to represent any Unicode character as a sequence of bytes. UTF-8
-is used in most of the world, whereas GB18030 is used in the People’s
+is used in most of the world, whereas GB18030 is used in the People's
Republic of China, because it is backward compatible with the GB2312
encoding that was used in this country earlier.
@@ -346,13 +346,13 @@ program.
program does a significant amount of text processing, or when the
program has multiple threads operating on the same data but in
different locales.
- • As ‘wchar_t *’, a.k.a. “wide strings”. This approach is
+ • As ‘wchar_t *’, a.k.a. "wide strings". This approach is
misguided, see *note The wchar_t mess::.
Of course, a ‘char *’ string can, in some cases, be encoded in UTF-8.
You will use the data type depending on what you can guarantee about how
-it’s encoded: If a string is encoded in the locale encoding, or if you
-don’t know how it’s encoded, use ‘char *’. If, on the other hand, you
+it's encoded: If a string is encoded in the locale encoding, or if you
+don't know how it's encoded, use ‘char *’. If, on the other hand, you
can _guarantee_ that it is UTF-8 encoded, then you can use the UTF-8
string type, ‘uint8_t *’, for it.
@@ -373,18 +373,19 @@ File: libunistring.info, Node: char * strings, Next: Unicode strings, Prev: I
The classical C strings, with its C library support standardized by
ISO C and POSIX, can be used in internationalized programs with some
precautions. The problem with this API is that many of the C library
-functions for strings don’t work correctly on strings in locale
+functions for strings don't work correctly on strings in locale
encodings, leading to bugs that only people in some cultures of the
world will experience.
The first problem with the C library API is the support of multibyte
locales. According to the locale encoding, in general, every character
-is represented by one or more bytes (up to 4 bytes in practice — but use
-‘MB_LEN_MAX’ instead of the number 4 in the code). When every character
-is represented by only 1 byte, we speak of an “unibyte locale”,
-otherwise of a “multibyte locale”. It is important to realize that the
-majority of Unix installations nowadays use UTF-8 or GB18030 as locale
-encoding; therefore, the majority of users are using multibyte locales.
+is represented by one or more bytes (up to 4 bytes in practice -- but
+use ‘MB_LEN_MAX’ instead of the number 4 in the code). When every
+character is represented by only 1 byte, we speak of an "unibyte
+locale", otherwise of a "multibyte locale". It is important to realize
+that the majority of Unix installations nowadays use UTF-8 or GB18030 as
+locale encoding; therefore, the majority of users are using multibyte
+locales.
The important fact to remember is:
_A ‘char’ is a byte, not a character._
@@ -425,7 +426,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.
@@ -486,7 +487,7 @@ File: libunistring.info, Node: Unicode strings, Prev: char * strings, Up: Int
• Unicode strings where embedded NUL characters are allowed. These
are represented by a pointer to the first unit and the number of
units (not bytes!) of the string. In this setting, there is no
- trailing zero-valued unit used as “end marker”.
+ trailing zero-valued unit used as "end marker".

File: libunistring.info, Node: Conventions, Next: unitypes.h, Prev: Introduction, Up: Top
@@ -510,7 +511,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 +548,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 +797,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,
@@ -929,7 +963,7 @@ character in a Unicode string.
-- Function: const uint32_t * u32_next (ucs4_t *PUC, const uint32_t *S)
Forward iteration step. Advances the pointer past the next
character, or returns NULL if the end of the string has been
- reached. Puts the character’s ‘ucs4_t’ representation in ‘*PUC’.
+ reached. Puts the character's ‘ucs4_t’ representation in ‘*PUC’.
The following function inspects and returns details about the
previous character in a Unicode string.
@@ -943,7 +977,7 @@ previous character in a Unicode string.
Backward iteration step. Advances the pointer to point to the
previous character (the one that ends at ‘S’), or returns NULL if
the beginning of the string (specified by ‘START’) had been
- reached. Puts the character’s ‘ucs4_t’ representation in ‘*PUC’.
+ reached. Puts the character's ‘ucs4_t’ representation in ‘*PUC’.
Note that this function works only on well-formed Unicode strings.

@@ -1051,7 +1085,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)
@@ -1100,7 +1135,7 @@ File: libunistring.info, Node: Duplicating a NUL terminated Unicode string, Ne
-- Function: uint8_t * u8_strdup (const uint8_t *S)
-- Function: uint16_t * u16_strdup (const uint16_t *S)
-- Function: uint32_t * u32_strdup (const uint32_t *S)
- Duplicates S, returning an identical malloc’d string.
+ Duplicates S, returning an identical malloc'd string.
This function is similar to ‘strdup’ and ‘wcsdup’, except that it
operates on Unicode strings.
@@ -1236,7 +1271,7 @@ encodings.
The following function returns the locale encoding.
-- Function: const char * locale_charset ()
- Determines the current locale’s character encoding, and
+ Determines the current locale's character encoding, and
canonicalizes it into one of the canonical names listed in
‘localcharset.h’. If the canonical name cannot be determined, the
result is a non-canonical name.
@@ -1427,6 +1462,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.
@@ -1640,7 +1676,7 @@ File: libunistring.info, Node: unictype.h, Next: uniwidth.h, Prev: uniname.h,
This include file declares functions that classify Unicode characters
and that test whether Unicode characters have specific properties.
- The classification assigns a “general category” to every Unicode
+ The classification assigns a "general category" to every Unicode
character. This is similar to the classification provided by ISO C in
‘<wctype.h>’.
@@ -1658,6 +1694,7 @@ algorithms in the presence of specific Unicode characters.
* Mirrored character::
* Arabic shaping::
* Properties::
+* Other attributes::
* Scripts::
* Blocks::
* ISO C and Java syntax::
@@ -1709,157 +1746,157 @@ macros are aliases, for use when readable code is preferred.
-- Constant: uc_general_category_t UC_CATEGORY_L
-- Macro: uc_general_category_t UC_LETTER
- This represents the general category “Letter”.
+ This represents the general category "Letter".
-- Constant: uc_general_category_t UC_CATEGORY_LC
-- Macro: uc_general_category_t UC_CASED_LETTER
-- Constant: uc_general_category_t UC_CATEGORY_Lu
-- Macro: uc_general_category_t UC_UPPERCASE_LETTER
- This represents the general category “Letter, uppercase”.
+ This represents the general category "Letter, uppercase".
-- Constant: uc_general_category_t UC_CATEGORY_Ll
-- Macro: uc_general_category_t UC_LOWERCASE_LETTER
- This represents the general category “Letter, lowercase”.
+ This represents the general category "Letter, lowercase".
-- Constant: uc_general_category_t UC_CATEGORY_Lt
-- Macro: uc_general_category_t UC_TITLECASE_LETTER
- This represents the general category “Letter, titlecase”.
+ This represents the general category "Letter, titlecase".
-- Constant: uc_general_category_t UC_CATEGORY_Lm
-- Macro: uc_general_category_t UC_MODIFIER_LETTER
- This represents the general category “Letter, modifier”.
+ This represents the general category "Letter, modifier".
-- Constant: uc_general_category_t UC_CATEGORY_Lo
-- Macro: uc_general_category_t UC_OTHER_LETTER
- This represents the general category “Letter, other”.
+ This represents the general category "Letter, other".
-- Constant: uc_general_category_t UC_CATEGORY_M
-- Macro: uc_general_category_t UC_MARK
- This represents the general category “Marker”.
+ This represents the general category "Marker".
-- Constant: uc_general_category_t UC_CATEGORY_Mn
-- Macro: uc_general_category_t UC_NON_SPACING_MARK
- This represents the general category “Marker, nonspacing”.
+ This represents the general category "Marker, nonspacing".
-- Constant: uc_general_category_t UC_CATEGORY_Mc
-- Macro: uc_general_category_t UC_COMBINING_SPACING_MARK
- This represents the general category “Marker, spacing combining”.
+ This represents the general category "Marker, spacing combining".
-- Constant: uc_general_category_t UC_CATEGORY_Me
-- Macro: uc_general_category_t UC_ENCLOSING_MARK
- This represents the general category “Marker, enclosing”.
+ This represents the general category "Marker, enclosing".
-- Constant: uc_general_category_t UC_CATEGORY_N
-- Macro: uc_general_category_t UC_NUMBER
- This represents the general category “Number”.
+ This represents the general category "Number".
-- Constant: uc_general_category_t UC_CATEGORY_Nd
-- Macro: uc_general_category_t UC_DECIMAL_DIGIT_NUMBER
- This represents the general category “Number, decimal digit”.
+ This represents the general category "Number, decimal digit".
-- Constant: uc_general_category_t UC_CATEGORY_Nl
-- Macro: uc_general_category_t UC_LETTER_NUMBER
- This represents the general category “Number, letter”.
+ This represents the general category "Number, letter".
-- Constant: uc_general_category_t UC_CATEGORY_No
-- Macro: uc_general_category_t UC_OTHER_NUMBER
- This represents the general category “Number, other”.
+ This represents the general category "Number, other".
-- Constant: uc_general_category_t UC_CATEGORY_P
-- Macro: uc_general_category_t UC_PUNCTUATION
- This represents the general category “Punctuation”.
+ This represents the general category "Punctuation".
-- Constant: uc_general_category_t UC_CATEGORY_Pc
-- Macro: uc_general_category_t UC_CONNECTOR_PUNCTUATION
- This represents the general category “Punctuation, connector”.
+ This represents the general category "Punctuation, connector".
-- Constant: uc_general_category_t UC_CATEGORY_Pd
-- Macro: uc_general_category_t UC_DASH_PUNCTUATION
- This represents the general category “Punctuation, dash”.
+ This represents the general category "Punctuation, dash".
-- Constant: uc_general_category_t UC_CATEGORY_Ps
-- Macro: uc_general_category_t UC_OPEN_PUNCTUATION
- This represents the general category “Punctuation, open”, a.k.a.
- “start punctuation”.
+ This represents the general category "Punctuation, open", a.k.a.
+ "start punctuation".
-- Constant: uc_general_category_t UC_CATEGORY_Pe
-- Macro: uc_general_category_t UC_CLOSE_PUNCTUATION
- This represents the general category “Punctuation, close”, a.k.a.
- “end punctuation”.
+ This represents the general category "Punctuation, close", a.k.a.
+ "end punctuation".
-- Constant: uc_general_category_t UC_CATEGORY_Pi
-- Macro: uc_general_category_t UC_INITIAL_QUOTE_PUNCTUATION
- This represents the general category “Punctuation, initial quote”.
+ This represents the general category "Punctuation, initial quote".
-- Constant: uc_general_category_t UC_CATEGORY_Pf
-- Macro: uc_general_category_t UC_FINAL_QUOTE_PUNCTUATION
- This represents the general category “Punctuation, final quote”.
+ This represents the general category "Punctuation, final quote".
-- Constant: uc_general_category_t UC_CATEGORY_Po
-- Macro: uc_general_category_t UC_OTHER_PUNCTUATION
- This represents the general category “Punctuation, other”.
+ This represents the general category "Punctuation, other".
-- Constant: uc_general_category_t UC_CATEGORY_S
-- Macro: uc_general_category_t UC_SYMBOL
- This represents the general category “Symbol”.
+ This represents the general category "Symbol".
-- Constant: uc_general_category_t UC_CATEGORY_Sm
-- Macro: uc_general_category_t UC_MATH_SYMBOL
- This represents the general category “Symbol, math”.
+ This represents the general category "Symbol, math".
-- Constant: uc_general_category_t UC_CATEGORY_Sc
-- Macro: uc_general_category_t UC_CURRENCY_SYMBOL
- This represents the general category “Symbol, currency”.
+ This represents the general category "Symbol, currency".
-- Constant: uc_general_category_t UC_CATEGORY_Sk
-- Macro: uc_general_category_t UC_MODIFIER_SYMBOL
- This represents the general category “Symbol, modifier”.
+ This represents the general category "Symbol, modifier".
-- Constant: uc_general_category_t UC_CATEGORY_So
-- Macro: uc_general_category_t UC_OTHER_SYMBOL
- This represents the general category “Symbol, other”.
+ This represents the general category "Symbol, other".
-- Constant: uc_general_category_t UC_CATEGORY_Z
-- Macro: uc_general_category_t UC_SEPARATOR
- This represents the general category “Separator”.
+ This represents the general category "Separator".
-- Constant: uc_general_category_t UC_CATEGORY_Zs
-- Macro: uc_general_category_t UC_SPACE_SEPARATOR
- This represents the general category “Separator, space”.
+ This represents the general category "Separator, space".
-- Constant: uc_general_category_t UC_CATEGORY_Zl
-- Macro: uc_general_category_t UC_LINE_SEPARATOR
- This represents the general category “Separator, line”.
+ This represents the general category "Separator, line".
-- Constant: uc_general_category_t UC_CATEGORY_Zp
-- Macro: uc_general_category_t UC_PARAGRAPH_SEPARATOR
- This represents the general category “Separator, paragraph”.
+ This represents the general category "Separator, paragraph".
-- Constant: uc_general_category_t UC_CATEGORY_C
-- Macro: uc_general_category_t UC_OTHER
- This represents the general category “Other”.
+ This represents the general category "Other".
-- Constant: uc_general_category_t UC_CATEGORY_Cc
-- Macro: uc_general_category_t UC_CONTROL
- This represents the general category “Other, control”.
+ This represents the general category "Other, control".
-- Constant: uc_general_category_t UC_CATEGORY_Cf
-- Macro: uc_general_category_t UC_FORMAT
- This represents the general category “Other, format”.
+ This represents the general category "Other, format".
-- Constant: uc_general_category_t UC_CATEGORY_Cs
-- Macro: uc_general_category_t UC_SURROGATE
- This represents the general category “Other, surrogate”. All code
+ This represents the general category "Other, surrogate". All code
points in this category are invalid characters.
-- Constant: uc_general_category_t UC_CATEGORY_Co
-- Macro: uc_general_category_t UC_PRIVATE_USE
- This represents the general category “Other, private use”.
+ This represents the general category "Other, private use".
-- Constant: uc_general_category_t UC_CATEGORY_Cn
-- Macro: uc_general_category_t UC_UNASSIGNED
- This represents the general category “Other, not assigned”. Some
+ This represents the general category "Other, not assigned". Some
code points in this category are invalid characters.
The following functions combine general categories, like in a boolean
@@ -2004,69 +2041,69 @@ Database <https://www.unicode.org/Public/UNIDATA/UCD.html>. The list
here is not definitive; more values can be added in future versions.
-- Constant: int UC_CCC_NR
- The canonical combining class value for “Not Reordered” characters.
+ The canonical combining class value for "Not Reordered" characters.
The value is 0.
-- Constant: int UC_CCC_OV
- The canonical combining class value for “Overlay” characters.
+ The canonical combining class value for "Overlay" characters.
-- Constant: int UC_CCC_NK
- The canonical combining class value for “Nukta” characters.
+ The canonical combining class value for "Nukta" characters.
-- Constant: int UC_CCC_KV
- The canonical combining class value for “Kana Voicing” characters.
+ The canonical combining class value for "Kana Voicing" characters.
-- Constant: int UC_CCC_VR
- The canonical combining class value for “Virama” characters.
+ The canonical combining class value for "Virama" characters.
-- Constant: int UC_CCC_ATBL
- The canonical combining class value for “Attached Below Left”
+ The canonical combining class value for "Attached Below Left"
characters.
-- Constant: int UC_CCC_ATB
- The canonical combining class value for “Attached Below”
+ The canonical combining class value for "Attached Below"
characters.
-- Constant: int UC_CCC_ATA
- The canonical combining class value for “Attached Above”
+ The canonical combining class value for "Attached Above"
characters.
-- Constant: int UC_CCC_ATAR
- The canonical combining class value for “Attached Above Right”
+ The canonical combining class value for "Attached Above Right"
characters.
-- Constant: int UC_CCC_BL
- The canonical combining class value for “Below Left” characters.
+ The canonical combining class value for "Below Left" characters.
-- Constant: int UC_CCC_B
- The canonical combining class value for “Below” characters.
+ The canonical combining class value for "Below" characters.
-- Constant: int UC_CCC_BR
- The canonical combining class value for “Below Right” characters.
+ The canonical combining class value for "Below Right" characters.
-- Constant: int UC_CCC_L
- The canonical combining class value for “Left” characters.
+ The canonical combining class value for "Left" characters.
-- Constant: int UC_CCC_R
- The canonical combining class value for “Right” characters.
+ The canonical combining class value for "Right" characters.
-- Constant: int UC_CCC_AL
- The canonical combining class value for “Above Left” characters.
+ The canonical combining class value for "Above Left" characters.
-- Constant: int UC_CCC_A
- The canonical combining class value for “Above” characters.
+ The canonical combining class value for "Above" characters.
-- Constant: int UC_CCC_AR
- The canonical combining class value for “Above Right” characters.
+ The canonical combining class value for "Above Right" characters.
-- Constant: int UC_CCC_DB
- The canonical combining class value for “Double Below” characters.
+ The canonical combining class value for "Double Below" characters.
-- Constant: int UC_CCC_DA
- The canonical combining class value for “Double Above” characters.
+ The canonical combining class value for "Double Above" characters.
-- Constant: int UC_CCC_IS
- The canonical combining class value for “Iota Subscript”
+ The canonical combining class value for "Iota Subscript"
characters.
The following functions associate canonical combining classes with
@@ -2108,73 +2145,73 @@ category_.
following.
-- Constant: int UC_BIDI_L
- The bidi class for ‘Left-to-Right‘” characters.
+ The bidi class for 'Left-to-Right'" characters.
-- Constant: int UC_BIDI_LRE
- The bidi class for “Left-to-Right Embedding” characters.
+ The bidi class for "Left-to-Right Embedding" characters.
-- Constant: int UC_BIDI_LRO
- The bidi class for “Left-to-Right Override” characters.
+ The bidi class for "Left-to-Right Override" characters.
-- Constant: int UC_BIDI_R
- The bidi class for “Right-to-Left” characters.
+ The bidi class for "Right-to-Left" characters.
-- Constant: int UC_BIDI_AL
- The bidi class for “Right-to-Left Arabic” characters.
+ The bidi class for "Right-to-Left Arabic" characters.
-- Constant: int UC_BIDI_RLE
- The bidi class for “Right-to-Left Embedding” characters.
+ The bidi class for "Right-to-Left Embedding" characters.
-- Constant: int UC_BIDI_RLO
- The bidi class for “Right-to-Left Override” characters.
+ The bidi class for "Right-to-Left Override" characters.
-- Constant: int UC_BIDI_PDF
- The bidi class for “Pop Directional Format” characters.
+ The bidi class for "Pop Directional Format" characters.
-- Constant: int UC_BIDI_EN
- The bidi class for “European Number” characters.
+ The bidi class for "European Number" characters.
-- Constant: int UC_BIDI_ES
- The bidi class for “European Number Separator” characters.
+ The bidi class for "European Number Separator" characters.
-- Constant: int UC_BIDI_ET
- The bidi class for “European Number Terminator” characters.
+ The bidi class for "European Number Terminator" characters.
-- Constant: int UC_BIDI_AN
- The bidi class for “Arabic Number” characters.
+ The bidi class for "Arabic Number" characters.
-- Constant: int UC_BIDI_CS
- The bidi class for “Common Number Separator” characters.
+ The bidi class for "Common Number Separator" characters.
-- Constant: int UC_BIDI_NSM
- The bidi class for “Non-Spacing Mark” characters.
+ The bidi class for "Non-Spacing Mark" characters.
-- Constant: int UC_BIDI_BN
- The bidi class for “Boundary Neutral” characters.
+ The bidi class for "Boundary Neutral" characters.
-- Constant: int UC_BIDI_B
- The bidi class for “Paragraph Separator” characters.
+ The bidi class for "Paragraph Separator" characters.
-- Constant: int UC_BIDI_S
- The bidi class for “Segment Separator” characters.
+ The bidi class for "Segment Separator" characters.
-- Constant: int UC_BIDI_WS
- The bidi class for “Whitespace” characters.
+ The bidi class for "Whitespace" characters.
-- Constant: int UC_BIDI_ON
- The bidi class for “Other Neutral” characters.
+ The bidi class for "Other Neutral" characters.
-- Constant: int UC_BIDI_LRI
- The bidi class for “Left-to-Right Isolate” characters.
+ The bidi class for "Left-to-Right Isolate" characters.
-- Constant: int UC_BIDI_RLI
- The bidi class for “Right-to-Left Isolate” characters.
+ The bidi class for "Right-to-Left Isolate" characters.
-- Constant: int UC_BIDI_FSI
- The bidi class for “First Strong Isolate” characters.
+ The bidi class for "First Strong Isolate" characters.
-- Constant: int UC_BIDI_PDI
- The bidi class for “Pop Directional Isolate” characters.
+ The bidi class for "Pop Directional Isolate" characters.
The following functions implement the association between a
bidirectional category and its name.
@@ -2279,6 +2316,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
@@ -2287,7 +2333,7 @@ File: libunistring.info, Node: Arabic shaping, Next: Properties, Prev: Mirror
When Arabic characters are rendered, after bidi reordering has taken
place, the shape of the glyphs are modified so that many adjacent glyphs
-are joined. Two character properties describe how this “Arabic shaping”
+are joined. Two character properties describe how this "Arabic shaping"
takes place: the joining type and the joining group.
* Menu:
@@ -2302,33 +2348,33 @@ File: libunistring.info, Node: Joining type, Next: Joining group, Up: Arabic
---------------------------------------
The joining type of a character describes on which of the left and
-right neighbour characters the character’s shape depends, and which of
+right neighbour characters the character's shape depends, and which of
the two neighbour characters are rendered depending on this character.
The joining type has the following possible values:
-- Constant: int UC_JOINING_TYPE_U
- “Non joining”: Characters of this joining type prohibit joining.
+ "Non joining": Characters of this joining type prohibit joining.
-- Constant: int UC_JOINING_TYPE_T
- “Transparent”: Characters of this joining type are skipped when
+ "Transparent": Characters of this joining type are skipped when
considering joining.
-- Constant: int UC_JOINING_TYPE_C
- “Join causing”: Characters of this joining type cause their
- neighbour characters to change their shapes but don’t change their
+ "Join causing": Characters of this joining type cause their
+ neighbour characters to change their shapes but don't change their
own shape.
-- Constant: int UC_JOINING_TYPE_L
- “Left joining”: Characters of this joining type have two shapes,
- isolated and initial. Such characters currently don’t exist.
+ "Left joining": Characters of this joining type have two shapes,
+ isolated and initial. Such characters currently don't exist.
-- Constant: int UC_JOINING_TYPE_R
- “Right joining”: Characters of this joining type have two shapes,
+ "Right joining": Characters of this joining type have two shapes,
isolated and final.
-- Constant: int UC_JOINING_TYPE_D
- “Dual joining”: Characters of this joining type have four shapes,
+ "Dual joining": Characters of this joining type have four shapes,
initial, medial, final, and isolated.
The following functions implement the association between a joining
@@ -2358,7 +2404,7 @@ File: libunistring.info, Node: Joining group, Prev: Joining type, Up: Arabic
8.8.2 Joining group of Arabic characters
----------------------------------------
- The joining group of a character describes how the character’s shape
+ The joining group of a character describes how the character's shape
is modified in the four contexts of dual-joining characters or in the
two contexts of right-joining characters.
@@ -2468,6 +2514,8 @@ two contexts of right-joining characters.
-- Constant: int UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA
-- Constant: int UC_JOINING_GROUP_THIN_YEH
-- Constant: int UC_JOINING_GROUP_VERTICAL_TAIL
+ -- Constant: int UC_JOINING_GROUP_KASHMIRI_YEH
+ -- Constant: int UC_JOINING_GROUP_THIN_NOON
The following functions implement the association between a joining
group and its name.
@@ -2488,7 +2536,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
==============
@@ -2511,7 +2559,7 @@ low level, a property is merely a function.

File: libunistring.info, Node: Properties as objects, Next: Properties as functions, Up: Properties
-8.9.1 Properties as objects – the object oriented API
+8.9.1 Properties as objects - the object oriented API
-----------------------------------------------------
The following type designates a property on Unicode characters.
@@ -2562,6 +2610,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
@@ -2572,6 +2622,7 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func
-- Constant: uc_property_t UC_PROPERTY_GRAPHEME_EXTEND
-- Constant: uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND
-- Constant: uc_property_t UC_PROPERTY_GRAPHEME_LINK
+ -- Constant: uc_property_t UC_PROPERTY_MODIFIER_COMBINING_MARK
The following properties relate to bidirectional reordering.
@@ -2603,6 +2654,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 +2674,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
@@ -2656,7 +2709,7 @@ File: libunistring.info, Node: Properties as objects, Next: Properties as func
This lookup ignores spaces, underscores, or hyphens as word
separators, is case-insignificant, and supports the aliases listed
- in Unicode’s ‘PropertyAliases.txt’ file.
+ in Unicode's ‘PropertyAliases.txt’ file.
This function references a big table of all predefined properties.
Its use can significantly increase the size of your application.
@@ -2674,7 +2727,7 @@ characters.

File: libunistring.info, Node: Properties as functions, Prev: Properties as objects, Up: Properties
-8.9.2 Properties as functions – the functional API
+8.9.2 Properties as functions - the functional API
--------------------------------------------------
The following are general properties.
@@ -2717,6 +2770,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)
@@ -2727,6 +2782,7 @@ File: libunistring.info, Node: Properties as functions, Prev: Properties as ob
-- Function: bool uc_is_property_grapheme_extend (ucs4_t UC)
-- Function: bool uc_is_property_other_grapheme_extend (ucs4_t UC)
-- Function: bool uc_is_property_grapheme_link (ucs4_t UC)
+ -- Function: bool uc_is_property_modifier_combining_mark (ucs4_t UC)
The following properties relate to bidirectional reordering.
@@ -2758,6 +2814,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 +2834,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 +2859,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.
+
+ -- 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.10 Scripts
+8.11 Scripts
============
The Unicode characters are subdivided into scripts.
@@ -2842,7 +2948,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 +2989,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 +3035,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
@@ -3044,7 +3150,7 @@ File: libunistring.info, Node: unigbrk.h, Next: uniwbrk.h, Prev: uniwidth.h,
***************************************************
This include file declares functions for determining where in a
-string “grapheme clusters” start and end. A “grapheme cluster” is an
+string "grapheme clusters" start and end. A "grapheme cluster" is an
approximation to a user-perceived character, which sometimes corresponds
to multiple Unicode characters. Editing operations such as mouse
selection, cursor movement, and backspacing often operate on grapheme
@@ -3078,11 +3184,11 @@ File: libunistring.info, Node: Grapheme cluster breaks in a string, Next: Grap
The following functions find a single boundary between grapheme
clusters in a string.
- -- Function: void u8_grapheme_next (const uint8_t *S,
+ -- Function: const uint8_t * u8_grapheme_next (const uint8_t *S,
const uint8_t *END)
- -- Function: void u16_grapheme_next (const uint16_t *S,
+ -- Function: const uint16_t * u16_grapheme_next (const uint16_t *S,
const uint16_t *END)
- -- Function: void u32_grapheme_next (const uint32_t *S,
+ -- Function: const uint32_t * u32_grapheme_next (const uint32_t *S,
const uint32_t *END)
Returns the start of the next grapheme cluster following S, or END
if no grapheme cluster break is encountered before it. Returns
@@ -3090,13 +3196,15 @@ 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,
+ -- Function: const uint8_t * u8_grapheme_prev (const uint8_t *S,
const uint8_t *START)
- -- Function: void u16_grapheme_prev (const uint16_t *S,
+ -- Function: const uint16_t * u16_grapheme_prev (const uint16_t *S,
const uint16_t *START)
- -- Function: void u32_grapheme_prev (const uint32_t *S,
+ -- Function: const uint32_t * u32_grapheme_prev (const uint32_t *S,
const uint32_t *START)
Returns the start of the grapheme cluster preceding S, or START if
no grapheme cluster break is encountered before it. Returns NULL
@@ -3104,7 +3212,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.
@@ -3148,8 +3258,8 @@ File: libunistring.info, Node: Grapheme cluster break property, Prev: Grapheme
====================================
This is a more low-level API. The grapheme cluster break property is
-a property defined in Unicode Standard Annex #29, section “Grapheme
-Cluster Boundaries”, see
+a property defined in Unicode Standard Annex #29, section "Grapheme
+Cluster Boundaries", see
<https://www.unicode.org/reports/tr29/#Grapheme_Cluster_Boundaries>. It
is used for determining the grapheme cluster breaks in a string.
@@ -3198,8 +3308,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
@@ -3208,7 +3319,7 @@ File: libunistring.info, Node: uniwbrk.h, Next: unilbrk.h, Prev: unigbrk.h,
***************************************
This include file declares functions for determining where in a
-string “words” start and end. Here “words” are not necessarily the same
+string "words" start and end. Here "words" are not necessarily the same
as entities that can be looked up in dictionaries, but rather groups of
consecutive characters that should not be split by text processing
operations.
@@ -3249,7 +3360,7 @@ File: libunistring.info, Node: Word break property, Prev: Word breaks in a str
========================
This is a more low-level API. The word break property is a property
-defined in Unicode Standard Annex #29, section “Word Boundaries”, see
+defined in Unicode Standard Annex #29, section "Word Boundaries", see
<https://www.unicode.org/reports/tr29/#Word_Boundaries>. It is used for
determining the word breaks in a string.
@@ -3392,7 +3503,7 @@ File: libunistring.info, Node: uninorm.h, Next: unicase.h, Prev: unilbrk.h,
This include file defines functions for transforming Unicode strings
to one of the four normal forms, known as NFC, NFD, NKFC, NFKD. These
-transformations involve decomposition and — for NFC and NFKC —
+transformations involve decomposition and -- for NFC and NFKC --
composition of Unicode characters.
* Menu:
@@ -3502,9 +3613,9 @@ single Unicode character.
When a decomposition exists, ‘DECOMPOSITION[0..N-1]’ is filled and
N is returned. Otherwise -1 is returned.
- Note: This function returns the (simple) “canonical decomposition”
- of UC. If you want the “full canonical decomposition” of UC, that
- is, the recursive application of “canonical decomposition”, use the
+ Note: This function returns the (simple) "canonical decomposition"
+ of UC. If you want the "full canonical decomposition" of UC, that
+ is, the recursive application of "canonical decomposition", use the
function ‘u*_normalize’ with argument ‘UNINORM_NFD’ instead.

@@ -3641,9 +3752,9 @@ File: libunistring.info, Node: Normalization of streams, Prev: Normalizing com
13.5 Normalization of streams of Unicode characters
===================================================
- A “stream of Unicode characters” is essentially a function that
+ A "stream of Unicode characters" is essentially a function that
accepts an ‘ucs4_t’ argument repeatedly, optionally combined with a
-function that “flushes” the stream.
+function that "flushes" the stream.
-- Type: struct uninorm_filter
This is the data type of a stream of Unicode characters that
@@ -3713,7 +3824,7 @@ File: libunistring.info, Node: Case mappings of characters, Next: Case mapping
================================
The following functions implement case mappings on Unicode characters
-— for those cases only where the result of the mapping is a again a
+-- for those cases only where the result of the mapping is a again a
single Unicode character.
These mappings are locale and context independent.
@@ -3737,7 +3848,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 +3873,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,
@@ -3845,8 +3956,8 @@ the substring and then applying the case mapping function to it. This
does not work because case mapping requires some information about the
surrounding characters. The following functions allow to apply case
mappings to substrings of a given string, while taking into account the
-characters that precede it (the “prefix”) and the characters that follow
-it (the “suffix”).
+characters that precede it (the "prefix") and the characters that follow
+it (the "suffix").
-- Type: casing_prefix_context_t
This data type denotes the case-mapping context that is given by a
@@ -4041,6 +4152,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)
@@ -4221,17 +4335,17 @@ File: libunistring.info, Node: Compiler options, Next: Include files, Prev: I
16.2 Compiler options
=====================
- Let’s denote as ‘LIBUNISTRING_PREFIX’ the value of the ‘--prefix’
+ Let's denote as ‘LIBUNISTRING_PREFIX’ the value of the ‘--prefix’
option that you passed to ‘configure’ while installing this package. If
-you didn’t pass any ‘--prefix’ option, then the package is installed in
+you didn't pass any ‘--prefix’ option, then the package is installed in
‘/usr/local’.
- Let’s denote as ‘LIBUNISTRING_INCLUDEDIR’ the directory where the
+ Let's denote as ‘LIBUNISTRING_INCLUDEDIR’ the directory where the
include files were installed. This is usually the same as
‘${LIBUNISTRING_PREFIX}/include’. Except that if you passed an
‘--includedir’ option to ‘configure’, it is the value of that option.
- Let’s further denote as ‘LIBUNISTRING_LIBDIR’ the directory where the
+ Let's further denote as ‘LIBUNISTRING_LIBDIR’ the directory where the
library itself was installed. This is the value that you passed with
the ‘--libdir’ option to ‘configure’, or otherwise the same as
‘${LIBUNISTRING_PREFIX}/lib’. Recall that when building in 64-bit mode
@@ -4263,15 +4377,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 +4393,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
@@ -4319,7 +4441,7 @@ File: libunistring.info, Node: Reporting problems, Prev: Autoconf macro, Up:
16.5 Reporting problems
=======================
- If you encounter any problem, please don’t hesitate to submit a
+ If you encounter any problem, please don't hesitate to submit a
detailed bug report either in the bug tracker at the project page
<https://savannah.gnu.org/projects/libunistring>, or by email to the
‘bug-libunistring@gnu.org’ mailing list.
@@ -4329,7 +4451,7 @@ description of your operating system and compilation environment with
corresponding version numbers.
For problems that appear while building and installing
-‘libunistring’, for which you don’t find the remedy in the ‘INSTALL’
+‘libunistring’, for which you don't find the remedy in the ‘INSTALL’
file, please include a description of the options that you passed to the
‘configure’ script.
@@ -4356,33 +4478,34 @@ 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
a ‘wchar_t’ character, other than the properties defined by
- ‘<wctype.h>’ — such as whether it’s a dash, currency symbol,
- paragraph separator, or similar —, you have to convert it to ‘char
+ ‘<wctype.h>’ -- such as whether it's a dash, currency symbol,
+ paragraph separator, or similar --, you have to convert it to ‘char
*’ encoding first, by use of the function ‘wctomb’.
• When you read a stream of wide characters, through the functions
‘fgetwc’ and ‘fgetws’, and when the input stream/file is not in the
expected encoding, you have no way to determine the invalid byte
sequence and do some corrective action. If you use these
- functions, your program becomes “garbage in - more garbage out” or
- “garbage in - abort”.
+ functions, your program becomes "garbage in - more garbage out" or
+ "garbage in - abort".
As a consequence, it is better to use multibyte strings, as explained
in the section *note char * strings::. Such multibyte strings can
@@ -4420,17 +4543,17 @@ strings. They standardized only the most basic functions, ‘mbrtoc32’
and ‘c32rtomb’, which are analogous to ‘mbrtowc’ and ‘wcrtomb’,
respectively. For the rest, GNU gnulib
<https://www.gnu.org/software/gnulib/> provides the functions:
- • Functions for converting an entire string: ‘mbstoc32s’ – like
- ‘mbstowcs’, ‘c32stombs’ – like ‘wcstombs’.
+ • Functions for converting an entire string: ‘mbstoc32s’ - like
+ ‘mbstowcs’, ‘c32stombs’ - like ‘wcstombs’.
• Functions for testing the properties of a 32-bit wide character:
- ‘c32isalnum’, ‘c32isalpha’, etc. – like ‘iswalnum’, ‘iswalpha’,
+ ‘c32isalnum’, ‘c32isalpha’, etc. - like ‘iswalnum’, ‘iswalpha’,
etc.
Still, this API has two problems:
• The ‘char32_t’ encoding is locale dependent and undocumented. This
means, if you want to know any property of a ‘char32_t’ character,
- other than the properties defined by ‘<wctype.h>’ – such as whether
- it’s a dash, currency symbol, paragraph separator, or similar –,
+ other than the properties defined by ‘<wctype.h>’ - such as whether
+ it's a dash, currency symbol, paragraph separator, or similar -,
you have to convert it to ‘char *’ encoding first, by use of the
function ‘c32tomb’.
• Even on platforms where ‘wchar_t’ is 32 bits wide, the ‘char32_t’
@@ -4506,7 +4629,7 @@ software and other kinds of works.
The licenses for most software and other practical works are designed
to take away your freedom to share and change the works. By contrast,
the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program—to make sure it remains free
+share and change all versions of a program--to make sure it remains free
software for all its users. We, the Free Software Foundation, use the
GNU General Public License for most of our software; it applies also to
any other work released this way by its authors. You can apply it to
@@ -4534,16 +4657,16 @@ know their rights.
(1) assert copyright on the software, and (2) offer you this License
giving you legal permission to copy, distribute and/or modify it.
- For the developers’ and authors’ protection, the GPL clearly explains
-that there is no warranty for this free software. For both users’ and
-authors’ sake, the GPL requires that modified versions be marked as
+ For the developers' and authors' protection, the GPL clearly explains
+that there is no warranty for this free software. For both users' and
+authors' sake, the GPL requires that modified versions be marked as
changed, so that their problems will not be attributed erroneously to
authors of previous versions.
Some devices are designed to deny users access to install or run
modified versions of the software inside them, although the manufacturer
can do so. This is fundamentally incompatible with the aim of
-protecting users’ freedom to change the software. The systematic
+protecting users' freedom to change the software. The systematic
pattern of such abuse occurs in the area of products for individuals to
use, which is precisely where it is most unacceptable. Therefore, we
have designed this version of the GPL to prohibit the practice for those
@@ -4566,25 +4689,25 @@ TERMS AND CONDITIONS
0. Definitions.
- “This License” refers to version 3 of the GNU General Public
+ "This License" refers to version 3 of the GNU General Public
License.
- “Copyright” also means copyright-like laws that apply to other
+ "Copyright" also means copyright-like laws that apply to other
kinds of works, such as semiconductor masks.
- “The Program” refers to any copyrightable work licensed under this
- License. Each licensee is addressed as “you”. “Licensees” and
- “recipients” may be individuals or organizations.
+ "The Program" refers to any copyrightable work licensed under this
+ License. Each licensee is addressed as "you". "Licensees" and
+ "recipients" may be individuals or organizations.
- To “modify” a work means to copy from or adapt all or part of the
+ To "modify" a work means to copy from or adapt all or part of the
work in a fashion requiring copyright permission, other than the
- making of an exact copy. The resulting work is called a “modified
- version” of the earlier work or a work “based on” the earlier work.
+ making of an exact copy. The resulting work is called a "modified
+ version" of the earlier work or a work "based on" the earlier work.
- A “covered work” means either the unmodified Program or a work
+ A "covered work" means either the unmodified Program or a work
based on the Program.
- To “propagate” a work means to do anything with it that, without
+ To "propagate" a work means to do anything with it that, without
permission, would make you directly or secondarily liable for
infringement under applicable copyright law, except executing it on
a computer or modifying a private copy. Propagation includes
@@ -4592,12 +4715,12 @@ TERMS AND CONDITIONS
available to the public, and in some countries other activities as
well.
- To “convey” a work means any kind of propagation that enables other
+ To "convey" a work means any kind of propagation that enables other
parties to make or receive copies. Mere interaction with a user
through a computer network, with no transfer of a copy, is not
conveying.
- An interactive user interface displays “Appropriate Legal Notices”
+ An interactive user interface displays "Appropriate Legal Notices"
to the extent that it includes a convenient and prominently visible
feature that (1) displays an appropriate copyright notice, and (2)
tells the user that there is no warranty for the work (except to
@@ -4609,33 +4732,33 @@ TERMS AND CONDITIONS
1. Source Code.
- The “source code” for a work means the preferred form of the work
- for making modifications to it. “Object code” means any non-source
+ The "source code" for a work means the preferred form of the work
+ for making modifications to it. "Object code" means any non-source
form of a work.
- A “Standard Interface” means an interface that either is an
+ A "Standard Interface" means an interface that either is an
official standard defined by a recognized standards body, or, in
the case of interfaces specified for a particular programming
language, one that is widely used among developers working in that
language.
- The “System Libraries” of an executable work include anything,
+ The "System Libraries" of an executable work include anything,
other than the work as a whole, that (a) is included in the normal
form of packaging a Major Component, but which is not part of that
Major Component, and (b) serves only to enable use of the work with
that Major Component, or to implement a Standard Interface for
which an implementation is available to the public in source code
- form. A “Major Component”, in this context, means a major
+ form. A "Major Component", in this context, means a major
essential component (kernel, window system, and so on) of the
specific operating system (if any) on which the executable work
runs, or a compiler used to produce the work, or an object code
interpreter used to run it.
- The “Corresponding Source” for a work in object code form means all
+ The "Corresponding Source" for a work in object code form means all
the source code needed to generate, install, and (for an executable
work) run the object code and to modify the work, including scripts
to control those activities. However, it does not include the
- work’s System Libraries, or general-purpose tools or generally
+ work's System Libraries, or general-purpose tools or generally
available free programs which are used unmodified in performing
those activities but which are not part of the work. For example,
Corresponding Source includes interface definition files associated
@@ -4679,7 +4802,7 @@ TERMS AND CONDITIONS
the conditions stated below. Sublicensing is not allowed; section
10 makes it unnecessary.
- 3. Protecting Users’ Legal Rights From Anti-Circumvention Law.
+ 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
No covered work shall be deemed part of an effective technological
measure under any applicable law fulfilling obligations under
@@ -4692,12 +4815,12 @@ TERMS AND CONDITIONS
circumvention is effected by exercising rights under this License
with respect to the covered work, and you disclaim any intention to
limit operation or modification of the work as a means of
- enforcing, against the work’s users, your or third parties’ legal
+ enforcing, against the work's users, your or third parties' legal
rights to forbid circumvention of technological measures.
4. Conveying Verbatim Copies.
- You may convey verbatim copies of the Program’s source code as you
+ You may convey verbatim copies of the Program's source code as you
receive it, in any medium, provided that you conspicuously and
appropriately publish on each copy an appropriate copyright notice;
keep intact all notices stating that this License and any
@@ -4721,7 +4844,7 @@ TERMS AND CONDITIONS
b. The work must carry prominent notices stating that it is
released under this License and any conditions added under
section 7. This requirement modifies the requirement in
- section 4 to “keep intact all notices”.
+ section 4 to "keep intact all notices".
c. You must license the entire work, as a whole, under this
License to anyone who comes into possession of a copy. This
@@ -4741,9 +4864,9 @@ TERMS AND CONDITIONS
works, which are not by their nature extensions of the covered
work, and which are not combined with it such as to form a larger
program, in or on a volume of a storage or distribution medium, is
- called an “aggregate” if the compilation and its resulting
+ called an "aggregate" if the compilation and its resulting
copyright are not used to limit the access or legal rights of the
- compilation’s users beyond what the individual works permit.
+ compilation's users beyond what the individual works permit.
Inclusion of a covered work in an aggregate does not cause this
License to apply to the other parts of the aggregate.
@@ -4801,13 +4924,13 @@ TERMS AND CONDITIONS
excluded from the Corresponding Source as a System Library, need
not be included in conveying the object code work.
- A “User Product” is either (1) a “consumer product”, which means
+ A "User Product" is either (1) a "consumer product", which means
any tangible personal property which is normally used for personal,
family, or household purposes, or (2) anything designed or sold for
incorporation into a dwelling. In determining whether a product is
a consumer product, doubtful cases shall be resolved in favor of
coverage. For a particular product received by a particular user,
- “normally used” refers to a typical or common use of that class of
+ "normally used" refers to a typical or common use of that class of
product, regardless of the status of the particular user or of the
way in which the particular user actually uses, or expects or is
expected to use, the product. A product is a consumer product
@@ -4815,7 +4938,7 @@ TERMS AND CONDITIONS
industrial or non-consumer uses, unless such uses represent the
only significant mode of use of the product.
- “Installation Information” for a User Product means any methods,
+ "Installation Information" for a User Product means any methods,
procedures, authorization keys, or other information required to
install and execute modified versions of a covered work in that
User Product from a modified version of its Corresponding Source.
@@ -4851,7 +4974,7 @@ TERMS AND CONDITIONS
7. Additional Terms.
- “Additional permissions” are terms that supplement the terms of
+ "Additional permissions" are terms that supplement the terms of
this License by making exceptions from one or more of its
conditions. Additional permissions that are applicable to the
entire Program shall be treated as though they were included in
@@ -4896,8 +5019,8 @@ TERMS AND CONDITIONS
the recipient, for any liability that these contractual
assumptions directly impose on those licensors and authors.
- All other non-permissive additional terms are considered “further
- restrictions” within the meaning of section 10. If the Program as
+ All other non-permissive additional terms are considered "further
+ restrictions" within the meaning of section 10. If the Program as
you received it, or any part of it, contains a notice stating that
it is governed by this License along with a term that is a further
restriction, you may remove that term. If a license document
@@ -4963,12 +5086,12 @@ TERMS AND CONDITIONS
responsible for enforcing compliance by third parties with this
License.
- An “entity transaction” is a transaction transferring control of an
+ An "entity transaction" is a transaction transferring control of an
organization, or substantially all assets of one, or subdividing an
organization, or merging organizations. If propagation of a
covered work results from an entity transaction, each party to that
transaction who receives a copy of the work also receives whatever
- licenses to the work the party’s predecessor in interest had or
+ licenses to the work the party's predecessor in interest had or
could give under the previous paragraph, plus a right to possession
of the Corresponding Source of the work from the predecessor in
interest, if the predecessor has it or can get it with reasonable
@@ -4985,31 +5108,31 @@ TERMS AND CONDITIONS
11. Patents.
- A “contributor” is a copyright holder who authorizes use under this
+ A "contributor" is a copyright holder who authorizes use under this
License of the Program or a work on which the Program is based.
- The work thus licensed is called the contributor’s “contributor
- version”.
+ The work thus licensed is called the contributor's "contributor
+ version".
- A contributor’s “essential patent claims” are all patent claims
+ A contributor's "essential patent claims" are all patent claims
owned or controlled by the contributor, whether already acquired or
hereafter acquired, that would be infringed by some manner,
permitted by this License, of making, using, or selling its
contributor version, but do not include claims that would be
infringed only as a consequence of further modification of the
- contributor version. For purposes of this definition, “control”
+ contributor version. For purposes of this definition, "control"
includes the right to grant patent sublicenses in a manner
consistent with the requirements of this License.
Each contributor grants you a non-exclusive, worldwide,
- royalty-free patent license under the contributor’s essential
+ royalty-free patent license under the contributor's essential
patent claims, to make, use, sell, offer for sale, import and
otherwise run, modify and propagate the contents of its contributor
version.
- In the following three paragraphs, a “patent license” is any
+ In the following three paragraphs, a "patent license" is any
express agreement or commitment, however denominated, not to
enforce a patent (such as an express permission to practice a
- patent or covenant not to sue for patent infringement). To “grant”
+ patent or covenant not to sue for patent infringement). To "grant"
such a patent license to a party means to make such an agreement or
commitment not to enforce a patent against the party.
@@ -5022,9 +5145,9 @@ TERMS AND CONDITIONS
yourself of the benefit of the patent license for this particular
work, or (3) arrange, in a manner consistent with the requirements
of this License, to extend the patent license to downstream
- recipients. “Knowingly relying” means you have actual knowledge
+ recipients. "Knowingly relying" means you have actual knowledge
that, but for the patent license, your conveying the covered work
- in a country, or your recipient’s use of the covered work in a
+ in a country, or your recipient's use of the covered work in a
country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid.
@@ -5036,7 +5159,7 @@ TERMS AND CONDITIONS
patent license you grant is automatically extended to all
recipients of the covered work and works based on it.
- A patent license is “discriminatory” if it does not include within
+ A patent license is "discriminatory" if it does not include within
the scope of its coverage, prohibits the exercise of, or is
conditioned on the non-exercise of one or more of the rights that
are specifically granted under this License. You may not convey a
@@ -5056,7 +5179,7 @@ TERMS AND CONDITIONS
any implied license or other defenses to infringement that may
otherwise be available to you under applicable patent law.
- 12. No Surrender of Others’ Freedom.
+ 12. No Surrender of Others' Freedom.
If conditions are imposed on you (whether by court order, agreement
or otherwise) that contradict the conditions of this License, they
@@ -5089,7 +5212,7 @@ TERMS AND CONDITIONS
Each version is given a distinguishing version number. If the
Program specifies that a certain numbered version of the GNU
- General Public License “or any later version” applies to it, you
+ General Public License "or any later version" applies to it, you
have the option of following the terms and conditions either of
that numbered version or of any later version published by the Free
Software Foundation. If the Program does not specify a version
@@ -5098,7 +5221,7 @@ TERMS AND CONDITIONS
If the Program specifies that a proxy can decide which future
versions of the GNU General Public License can be used, that
- proxy’s public statement of acceptance of a version permanently
+ proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Program.
Later license versions may give you additional or different
@@ -5110,7 +5233,7 @@ TERMS AND CONDITIONS
THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE
- COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM “AS IS”
+ COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS"
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
@@ -5154,7 +5277,7 @@ terms.
To do so, attach the following notices to the program. It is safest
to attach them to the start of each source file to most effectively
state the exclusion of warranty; and each file should have at least the
-“copyright” line and a pointer to where the full notice is found.
+"copyright" line and a pointer to where the full notice is found.
ONE LINE TO GIVE THE PROGRAM'S NAME AND A BRIEF IDEA OF WHAT IT DOES.
Copyright (C) YEAR NAME OF AUTHOR
@@ -5185,11 +5308,11 @@ notice like this when it starts in an interactive mode:
The hypothetical commands ‘show w’ and ‘show c’ should show the
appropriate parts of the General Public License. Of course, your
-program’s commands might be different; for a GUI interface, you would
-use an “about box”.
+program's commands might be different; for a GUI interface, you would
+use an "about box".
You should also get your employer (if you work as a programmer) or
-school, if any, to sign a “copyright disclaimer” for the program, if
+school, if any, to sign a "copyright disclaimer" for the program, if
necessary. For more information on this, and how to apply and follow
the GNU GPL, see <https://www.gnu.org/licenses/>.
@@ -5219,30 +5342,30 @@ supplemented by the additional permissions listed below.
0. Additional Definitions.
- As used herein, “this License” refers to version 3 of the GNU
- Lesser General Public License, and the “GNU GPL” refers to version
+ As used herein, "this License" refers to version 3 of the GNU
+ Lesser General Public License, and the "GNU GPL" refers to version
3 of the GNU General Public License.
- “The Library” refers to a covered work governed by this License,
+ "The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
- An “Application” is any work that makes use of an interface
+ An "Application" is any work that makes use of an interface
provided by the Library, but which is not otherwise based on the
Library. Defining a subclass of a class defined by the Library is
deemed a mode of using an interface provided by the Library.
- A “Combined Work” is a work produced by combining or linking an
+ A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the
Library with which the Combined Work was made is also called the
- “Linked Version”.
+ "Linked Version".
- The “Minimal Corresponding Source” for a Combined Work means the
+ The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source
code for portions of the Combined Work that, considered in
isolation, are based on the Application, and not on the Linked
Version.
- The “Corresponding Application Code” for a Combined Work means the
+ The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any
data and utility programs needed for reproducing the Combined Work
from the Application, but excluding the System Libraries of the
@@ -5315,7 +5438,7 @@ supplemented by the additional permissions listed below.
1. Use a suitable shared library mechanism for linking with
the Library. A suitable mechanism is one that (a) uses
at run time a copy of the Library already present on the
- user’s computer system, and (b) will operate properly
+ user's computer system, and (b) will operate properly
with a modified version of the Library that is
interface-compatible with the Linked Version.
@@ -5357,8 +5480,8 @@ supplemented by the additional permissions listed below.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered
- version of the GNU Lesser General Public License “or any later
- version” applies to it, you have the option of following the terms
+ version of the GNU Lesser General Public License "or any later
+ version" applies to it, you have the option of following the terms
and conditions either of that published version or of any later
version published by the Free Software Foundation. If the Library
as you received it does not specify a version number of the GNU
@@ -5368,7 +5491,7 @@ supplemented by the additional permissions listed below.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License
- shall apply, that proxy’s public statement of acceptance of any
+ shall apply, that proxy's public statement of acceptance of any
version is permanent authorization for you to choose that version
for the Library.
@@ -5396,7 +5519,7 @@ C.3 GNU Free Documentation License
author and publisher a way to get credit for their work, while not
being considered responsible for modifications made by others.
- This License is a kind of “copyleft”, which means that derivative
+ This License is a kind of "copyleft", which means that derivative
works of the document must themselves be free in the same sense.
It complements the GNU General Public License, which is a copyleft
license designed for free software.
@@ -5417,18 +5540,18 @@ C.3 GNU Free Documentation License
be distributed under the terms of this License. Such a notice
grants a world-wide, royalty-free license, unlimited in duration,
to use that work under the conditions stated herein. The
- “Document”, below, refers to any such manual or work. Any member
- of the public is a licensee, and is addressed as “you”. You accept
+ "Document", below, refers to any such manual or work. Any member
+ of the public is a licensee, and is addressed as "you". You accept
the license if you copy, modify or distribute the work in a way
requiring permission under copyright law.
- A “Modified Version” of the Document means any work containing the
+ A "Modified Version" of the Document means any work containing the
Document or a portion of it, either copied verbatim, or with
modifications and/or translated into another language.
- A “Secondary Section” is a named appendix or a front-matter section
+ A "Secondary Section" is a named appendix or a front-matter section
of the Document that deals exclusively with the relationship of the
- publishers or authors of the Document to the Document’s overall
+ publishers or authors of the Document to the Document's overall
subject (or to related matters) and contains nothing that could
fall directly within that overall subject. (Thus, if the Document
is in part a textbook of mathematics, a Secondary Section may not
@@ -5437,7 +5560,7 @@ C.3 GNU Free Documentation License
of legal, commercial, philosophical, ethical or political position
regarding them.
- The “Invariant Sections” are certain Secondary Sections whose
+ The "Invariant Sections" are certain Secondary Sections whose
titles are designated, as being those of Invariant Sections, in the
notice that says that the Document is released under this License.
If a section does not fit the above definition of Secondary then it
@@ -5445,13 +5568,13 @@ C.3 GNU Free Documentation License
contain zero Invariant Sections. If the Document does not identify
any Invariant Sections then there are none.
- The “Cover Texts” are certain short passages of text that are
+ The "Cover Texts" are certain short passages of text that are
listed, as Front-Cover Texts or Back-Cover Texts, in the notice
that says that the Document is released under this License. A
Front-Cover Text may be at most 5 words, and a Back-Cover Text may
be at most 25 words.
- A “Transparent” copy of the Document means a machine-readable copy,
+ A "Transparent" copy of the Document means a machine-readable copy,
represented in a format whose specification is available to the
general public, that is suitable for revising the document
straightforwardly with generic text editors or (for images composed
@@ -5463,7 +5586,7 @@ C.3 GNU Free Documentation License
been arranged to thwart or discourage subsequent modification by
readers is not Transparent. An image format is not Transparent if
used for any substantial amount of text. A copy that is not
- “Transparent” is called “Opaque”.
+ "Transparent" is called "Opaque".
Examples of suitable formats for Transparent copies include plain
ASCII without markup, Texinfo input format, LaTeX input format,
@@ -5476,23 +5599,23 @@ C.3 GNU Free Documentation License
the machine-generated HTML, PostScript or PDF produced by some word
processors for output purposes only.
- The “Title Page” means, for a printed book, the title page itself,
+ The "Title Page" means, for a printed book, the title page itself,
plus such following pages as are needed to hold, legibly, the
material this License requires to appear in the title page. For
- works in formats which do not have any title page as such, “Title
- Page” means the text near the most prominent appearance of the
- work’s title, preceding the beginning of the body of the text.
+ works in formats which do not have any title page as such, "Title
+ Page" means the text near the most prominent appearance of the
+ work's title, preceding the beginning of the body of the text.
- The “publisher” means any person or entity that distributes copies
+ The "publisher" means any person or entity that distributes copies
of the Document to the public.
- A section “Entitled XYZ” means a named subunit of the Document
+ A section "Entitled XYZ" means a named subunit of the Document
whose title either is precisely XYZ or contains XYZ in parentheses
following text that translates XYZ in another language. (Here XYZ
stands for a specific section name mentioned below, such as
- “Acknowledgements”, “Dedications”, “Endorsements”, or “History”.)
- To “Preserve the Title” of such a section when you modify the
- Document means that it remains a section “Entitled XYZ” according
+ "Acknowledgements", "Dedications", "Endorsements", or "History".)
+ To "Preserve the Title" of such a section when you modify the
+ Document means that it remains a section "Entitled XYZ" according
to this definition.
The Document may include Warranty Disclaimers next to the notice
@@ -5522,7 +5645,7 @@ C.3 GNU Free Documentation License
If you publish printed copies (or copies in media that commonly
have printed covers) of the Document, numbering more than 100, and
- the Document’s license notice requires Cover Texts, you must
+ the Document's license notice requires Cover Texts, you must
enclose the copies in covers that carry, clearly and legibly, all
these Cover Texts: Front-Cover Texts on the front cover, and
Back-Cover Texts on the back cover. Both covers must also clearly
@@ -5594,15 +5717,15 @@ C.3 GNU Free Documentation License
the Addendum below.
G. Preserve in that license notice the full lists of Invariant
- Sections and required Cover Texts given in the Document’s
+ Sections and required Cover Texts given in the Document's
license notice.
H. Include an unaltered copy of this License.
- I. Preserve the section Entitled “History”, Preserve its Title,
+ I. Preserve the section Entitled "History", Preserve its Title,
and add to it an item stating at least the title, year, new
authors, and publisher of the Modified Version as given on the
- Title Page. If there is no section Entitled “History” in the
+ Title Page. If there is no section Entitled "History" in the
Document, create one stating the title, year, authors, and
publisher of the Document as given on its Title Page, then add
an item describing the Modified Version as stated in the
@@ -5612,12 +5735,12 @@ C.3 GNU Free Documentation License
for public access to a Transparent copy of the Document, and
likewise the network locations given in the Document for
previous versions it was based on. These may be placed in the
- “History” section. You may omit a network location for a work
+ "History" section. You may omit a network location for a work
that was published at least four years before the Document
itself, or if the original publisher of the version it refers
to gives permission.
- K. For any section Entitled “Acknowledgements” or “Dedications”,
+ K. For any section Entitled "Acknowledgements" or "Dedications",
Preserve the Title of the section, and preserve in the section
all the substance and tone of each of the contributor
acknowledgements and/or dedications given therein.
@@ -5626,11 +5749,11 @@ C.3 GNU Free Documentation License
in their text and in their titles. Section numbers or the
equivalent are not considered part of the section titles.
- M. Delete any section Entitled “Endorsements”. Such a section
+ M. Delete any section Entitled "Endorsements". Such a section
may not be included in the Modified Version.
N. Do not retitle any existing section to be Entitled
- “Endorsements” or to conflict in title with any Invariant
+ "Endorsements" or to conflict in title with any Invariant
Section.
O. Preserve any Warranty Disclaimers.
@@ -5639,15 +5762,15 @@ C.3 GNU Free Documentation License
appendices that qualify as Secondary Sections and contain no
material copied from the Document, you may at your option designate
some or all of these sections as invariant. To do this, add their
- titles to the list of Invariant Sections in the Modified Version’s
+ titles to the list of Invariant Sections in the Modified Version's
license notice. These titles must be distinct from any other
section titles.
- You may add a section Entitled “Endorsements”, provided it contains
+ You may add a section Entitled "Endorsements", provided it contains
nothing but endorsements of your Modified Version by various
- parties—for example, statements of peer review or that the text has
- been approved by an organization as the authoritative definition of
- a standard.
+ parties--for example, statements of peer review or that the text
+ has been approved by an organization as the authoritative
+ definition of a standard.
You may add a passage of up to five words as a Front-Cover Text,
and a passage of up to 25 words as a Back-Cover Text, to the end of
@@ -5685,10 +5808,10 @@ C.3 GNU Free Documentation License
combined work.
In the combination, you must combine any sections Entitled
- “History” in the various original documents, forming one section
- Entitled “History”; likewise combine any sections Entitled
- “Acknowledgements”, and any sections Entitled “Dedications”. You
- must delete all sections Entitled “Endorsements.”
+ "History" in the various original documents, forming one section
+ Entitled "History"; likewise combine any sections Entitled
+ "Acknowledgements", and any sections Entitled "Dedications". You
+ must delete all sections Entitled "Endorsements."
6. COLLECTIONS OF DOCUMENTS
@@ -5709,16 +5832,16 @@ C.3 GNU Free Documentation License
A compilation of the Document or its derivatives with other
separate and independent documents or works, in or on a volume of a
- storage or distribution medium, is called an “aggregate” if the
+ storage or distribution medium, is called an "aggregate" if the
copyright resulting from the compilation is not used to limit the
- legal rights of the compilation’s users beyond what the individual
+ legal rights of the compilation's users beyond what the individual
works permit. When the Document is included in an aggregate, this
License does not apply to the other works in the aggregate which
are not themselves derivative works of the Document.
If the Cover Text requirement of section 3 is applicable to these
copies of the Document, then if the Document is less than one half
- of the entire aggregate, the Document’s Cover Texts may be placed
+ of the entire aggregate, the Document's Cover Texts may be placed
on covers that bracket the Document within the aggregate, or the
electronic equivalent of covers if the Document is in electronic
form. Otherwise they must appear on printed covers that bracket
@@ -5740,8 +5863,8 @@ C.3 GNU Free Documentation License
this License or a notice or disclaimer, the original version will
prevail.
- If a section in the Document is Entitled “Acknowledgements”,
- “Dedications”, or “History”, the requirement (section 4) to
+ If a section in the Document is Entitled "Acknowledgements",
+ "Dedications", or "History", the requirement (section 4) to
Preserve its Title (section 1) will typically require changing the
actual title.
@@ -5778,11 +5901,11 @@ C.3 GNU Free Documentation License
the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
- <https://www.gnu.org/copyleft/>.
+ <https://www.gnu.org/licenses/>.
Each version of the License is given a distinguishing version
number. If the Document specifies that a particular numbered
- version of this License “or any later version” applies to it, you
+ version of this License "or any later version" applies to it, you
have the option of following the terms and conditions either of
that specified version or of any later version that has been
published (not as a draft) by the Free Software Foundation. If the
@@ -5790,29 +5913,29 @@ C.3 GNU Free Documentation License
choose any version ever published (not as a draft) by the Free
Software Foundation. If the Document specifies that a proxy can
decide which future versions of this License can be used, that
- proxy’s public statement of acceptance of a version permanently
+ proxy's public statement of acceptance of a version permanently
authorizes you to choose that version for the Document.
11. RELICENSING
- “Massive Multiauthor Collaboration Site” (or “MMC Site”) means any
+ "Massive Multiauthor Collaboration Site" (or "MMC Site") means any
World Wide Web server that publishes copyrightable works and also
provides prominent facilities for anybody to edit those works. A
public wiki that anybody can edit is an example of such a server.
- A “Massive Multiauthor Collaboration” (or “MMC”) contained in the
+ A "Massive Multiauthor Collaboration" (or "MMC") contained in the
site means any set of copyrightable works thus published on the MMC
site.
- “CC-BY-SA” means the Creative Commons Attribution-Share Alike 3.0
+ "CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
license published by Creative Commons Corporation, a not-for-profit
corporation with a principal place of business in San Francisco,
California, as well as future copyleft versions of that license
published by that same organization.
- “Incorporate” means to publish or republish a Document, in whole or
+ "Incorporate" means to publish or republish a Document, in whole or
in part, as part of another Document.
- An MMC is “eligible for relicensing” if it is licensed under this
+ An MMC is "eligible for relicensing" if it is licensed under this
License, and if all works that were first published under this
License somewhere other than this MMC, and subsequently
incorporated in whole or in part into the MMC, (1) had no cover
@@ -5839,7 +5962,7 @@ notices just after the title page:
Free Documentation License''.
If you have Invariant Sections, Front-Cover Texts and Back-Cover
-Texts, replace the “with...Texts.” line with this:
+Texts, replace the "with...Texts." line with this:
with the Invariant Sections being LIST THEIR TITLES, with
the Front-Cover Texts being LIST, and with the Back-Cover Texts
@@ -5879,10 +6002,10 @@ Index
* bug reports: Reporting problems. (line 6)
* bug tracker: Reporting problems. (line 6)
* C string functions: char * strings. (line 6)
-* C, programming language: ISO C and Java syntax.
- (line 6)
* C-like API: Classifications like in ISO C.
(line 6)
+* C, programming language: ISO C and Java syntax.
+ (line 6)
* canonical combining class: Canonical combining class.
(line 6)
* case detection: Case detection. (line 6)
@@ -5892,7 +6015,7 @@ Index
(line 14)
* casing_suffix_context_t: Case mappings of substrings.
(line 46)
-* char, type: char * strings. (line 22)
+* char, type: char * strings. (line 23)
* char16_t, type: The char32_t problem.
(line 6)
* char32_t, type: The char32_t problem.
@@ -5906,23 +6029,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 +6077,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)
@@ -5976,8 +6101,8 @@ Index
* locale encoding <1>: uniconv.h. (line 10)
* locale language: Case mappings of strings.
(line 16)
-* locale, multibyte: char * strings. (line 13)
* locale_charset: uniconv.h. (line 12)
+* locale, multibyte: char * strings. (line 13)
* lowercasing: Case mappings of strings.
(line 6)
* mailing list: Reporting problems. (line 6)
@@ -6002,24 +6127,24 @@ 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)
-* u16_casing_prefixes_context: Case mappings of substrings.
- (line 37)
+ (line 80)
* u16_casing_prefix_context: Case mappings of substrings.
(line 28)
-* u16_casing_suffixes_context: Case mappings of substrings.
- (line 69)
+* u16_casing_prefixes_context: Case mappings of substrings.
+ (line 37)
* u16_casing_suffix_context: Case mappings of substrings.
(line 60)
+* u16_casing_suffixes_context: Case mappings of substrings.
+ (line 69)
* u16_check: Elementary string checks.
(line 10)
* u16_chr: Searching for a character.
@@ -6045,11 +6170,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)
@@ -6058,10 +6183,10 @@ Index
* u16_mblen: Iterating. (line 10)
* u16_mbsnlen: Counting characters. (line 9)
* u16_mbtouc: Iterating. (line 20)
-* u16_mbtoucr: Iterating. (line 48)
* u16_mbtouc_unsafe: Iterating. (line 39)
+* u16_mbtoucr: Iterating. (line 48)
* 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 +6197,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 +6217,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 +6238,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)
@@ -6125,52 +6252,52 @@ Index
(line 11)
* u16_strtok: Tokenizing. (line 10)
* u16_strwidth: uniwidth.h. (line 38)
+* u16_to_u32: Elementary string conversions.
+ (line 30)
+* u16_to_u8: Elementary string conversions.
+ (line 23)
* u16_tolower: Case mappings of strings.
(line 44)
* u16_totitle: Case mappings of strings.
(line 61)
* u16_toupper: Case mappings of strings.
(line 27)
-* u16_to_u32: Elementary string conversions.
- (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)
-* u32_casing_prefixes_context: Case mappings of substrings.
- (line 40)
+ (line 83)
* u32_casing_prefix_context: Case mappings of substrings.
(line 30)
-* u32_casing_suffixes_context: Case mappings of substrings.
- (line 72)
+* u32_casing_prefixes_context: Case mappings of substrings.
+ (line 40)
* u32_casing_suffix_context: Case mappings of substrings.
(line 62)
+* u32_casing_suffixes_context: Case mappings of substrings.
+ (line 72)
* u32_check: Elementary string checks.
(line 11)
* u32_chr: Searching for a character.
@@ -6196,11 +6323,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)
@@ -6209,10 +6336,10 @@ Index
* u32_mblen: Iterating. (line 11)
* u32_mbsnlen: Counting characters. (line 10)
* u32_mbtouc: Iterating. (line 21)
-* u32_mbtoucr: Iterating. (line 49)
* u32_mbtouc_unsafe: Iterating. (line 41)
+* u32_mbtoucr: Iterating. (line 49)
* 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 +6350,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 +6370,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 +6391,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)
@@ -6276,52 +6405,52 @@ Index
(line 13)
* u32_strtok: Tokenizing. (line 12)
* u32_strwidth: uniwidth.h. (line 39)
+* u32_to_u16: Elementary string conversions.
+ (line 44)
+* u32_to_u8: Elementary string conversions.
+ (line 37)
* u32_tolower: Case mappings of strings.
(line 47)
* u32_totitle: Case mappings of strings.
(line 64)
* u32_toupper: Case mappings of strings.
(line 30)
-* u32_to_u16: Elementary string conversions.
- (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)
-* u8_casing_prefixes_context: Case mappings of substrings.
- (line 34)
+ (line 77)
* u8_casing_prefix_context: Case mappings of substrings.
(line 26)
-* u8_casing_suffixes_context: Case mappings of substrings.
- (line 66)
+* u8_casing_prefixes_context: Case mappings of substrings.
+ (line 34)
* u8_casing_suffix_context: Case mappings of substrings.
(line 58)
+* u8_casing_suffixes_context: Case mappings of substrings.
+ (line 66)
* u8_check: Elementary string checks.
(line 9)
* u8_chr: Searching for a character.
@@ -6347,11 +6476,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)
@@ -6360,10 +6489,10 @@ Index
* u8_mblen: Iterating. (line 9)
* u8_mbsnlen: Counting characters. (line 8)
* u8_mbtouc: Iterating. (line 19)
-* u8_mbtoucr: Iterating. (line 47)
* u8_mbtouc_unsafe: Iterating. (line 37)
+* u8_mbtoucr: Iterating. (line 47)
* 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 +6503,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 +6523,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 +6544,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)
@@ -6427,36 +6558,34 @@ Index
(line 9)
* u8_strtok: Tokenizing. (line 8)
* u8_strwidth: uniwidth.h. (line 37)
+* u8_to_u16: Elementary string conversions.
+ (line 9)
+* u8_to_u32: Elementary string conversions.
+ (line 16)
* u8_tolower: Case mappings of strings.
(line 41)
* u8_totitle: Case mappings of strings.
(line 58)
* u8_toupper: Case mappings of strings.
(line 24)
-* u8_to_u16: Elementary string conversions.
- (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.
(line 8)
-* UCS-4: Unicode. (line 14)
-* ucs4_t: unitypes.h. (line 15)
* uc_all_blocks: Blocks. (line 36)
* uc_all_scripts: Scripts. (line 35)
* uc_bidi_category: Bidi class. (line 105)
@@ -6468,6 +6597,8 @@ Index
* uc_bidi_class_name: Bidi class. (line 86)
* uc_block: Blocks. (line 26)
* uc_block_t: Blocks. (line 11)
+* uc_c_ident_category: ISO C and Java syntax.
+ (line 38)
* uc_canonical_decomposition: Decomposition of characters.
(line 90)
* uc_combining_class: Canonical combining class.
@@ -6480,8 +6611,6 @@ Index
(line 92)
* uc_composition: Composition of characters.
(line 9)
-* uc_c_ident_category: ISO C and Java syntax.
- (line 38)
* uc_decimal_value: Decimal digit value. (line 10)
* uc_decomposition: Decomposition of characters.
(line 80)
@@ -6495,10 +6624,16 @@ Index
* uc_general_category_name: Object oriented API. (line 199)
* uc_general_category_or: Object oriented API. (line 176)
* uc_general_category_t: Object oriented API. (line 6)
+* uc_grapheme_breaks: Grapheme cluster breaks in a string.
+ (line 55)
* uc_graphemeclusterbreak_property: Grapheme cluster break property.
(line 37)
-* uc_grapheme_breaks: Grapheme cluster breaks in a string.
- (line 51)
+* 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.
@@ -6508,10 +6643,10 @@ Index
* uc_is_blank: Classifications like in ISO C.
(line 63)
* uc_is_block: Blocks. (line 31)
-* uc_is_cntrl: Classifications like in ISO C.
- (line 23)
* uc_is_c_whitespace: ISO C and Java syntax.
(line 9)
+* uc_is_cntrl: Classifications like in ISO C.
+ (line 23)
* uc_is_digit: Classifications like in ISO C.
(line 26)
* uc_is_general_category: Object oriented API. (line 226)
@@ -6527,49 +6662,49 @@ Index
* uc_is_print: Classifications like in ISO C.
(line 40)
* uc_is_property: Properties as objects.
- (line 160)
+ (line 165)
* uc_is_property_alphabetic: Properties as functions.
(line 9)
* uc_is_property_ascii_hex_digit: Properties as functions.
- (line 80)
+ (line 83)
* uc_is_property_bidi_arabic_digit: Properties as functions.
- (line 66)
+ (line 69)
* uc_is_property_bidi_arabic_right_to_left: Properties as functions.
- (line 62)
+ (line 65)
* uc_is_property_bidi_block_separator: Properties as functions.
- (line 68)
+ (line 71)
* uc_is_property_bidi_boundary_neutral: Properties as functions.
- (line 72)
+ (line 75)
* uc_is_property_bidi_common_separator: Properties as functions.
- (line 67)
+ (line 70)
* uc_is_property_bidi_control: Properties as functions.
- (line 59)
+ (line 62)
* uc_is_property_bidi_embedding_or_override: Properties as functions.
- (line 74)
-* uc_is_property_bidi_european_digit: Properties as functions.
- (line 63)
+ (line 77)
* uc_is_property_bidi_eur_num_separator: Properties as functions.
- (line 64)
+ (line 67)
* uc_is_property_bidi_eur_num_terminator: Properties as functions.
- (line 65)
+ (line 68)
+* uc_is_property_bidi_european_digit: Properties as functions.
+ (line 66)
* uc_is_property_bidi_hebrew_right_to_left: Properties as functions.
- (line 61)
+ (line 64)
* uc_is_property_bidi_left_to_right: Properties as functions.
- (line 60)
+ (line 63)
* uc_is_property_bidi_non_spacing_mark: Properties as functions.
- (line 71)
+ (line 74)
* uc_is_property_bidi_other_neutral: Properties as functions.
- (line 75)
+ (line 78)
* uc_is_property_bidi_pdf: Properties as functions.
- (line 73)
+ (line 76)
* uc_is_property_bidi_segment_separator: Properties as functions.
- (line 69)
+ (line 72)
* uc_is_property_bidi_whitespace: Properties as functions.
- (line 70)
-* uc_is_property_cased: Properties as functions.
- (line 29)
+ (line 73)
* uc_is_property_case_ignorable: Properties as functions.
(line 30)
+* uc_is_property_cased: Properties as functions.
+ (line 29)
* uc_is_property_changes_when_casefolded: Properties as functions.
(line 34)
* uc_is_property_changes_when_casemapped: Properties as functions.
@@ -6581,85 +6716,93 @@ Index
* uc_is_property_changes_when_uppercased: Properties as functions.
(line 32)
* uc_is_property_combining: Properties as functions.
- (line 119)
+ (line 125)
* uc_is_property_composite: Properties as functions.
- (line 120)
+ (line 126)
* uc_is_property_currency_symbol: Properties as functions.
- (line 114)
+ (line 120)
* uc_is_property_dash: Properties as functions.
- (line 106)
+ (line 112)
* uc_is_property_decimal_digit: Properties as functions.
- (line 121)
+ (line 127)
* 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 129)
* uc_is_property_emoji: Properties as functions.
- (line 92)
-* uc_is_property_emoji_component: Properties as functions.
(line 96)
+* uc_is_property_emoji_component: Properties as functions.
+ (line 100)
* uc_is_property_emoji_modifier: Properties as functions.
- (line 94)
+ (line 98)
* uc_is_property_emoji_modifier_base: Properties as functions.
- (line 95)
+ (line 99)
* uc_is_property_emoji_presentation: Properties as functions.
- (line 93)
-* uc_is_property_extended_pictographic: Properties as functions.
(line 97)
+* uc_is_property_extended_pictographic: Properties as functions.
+ (line 101)
* uc_is_property_extender: Properties as functions.
- (line 124)
+ (line 130)
* uc_is_property_format_control: Properties as functions.
- (line 105)
+ (line 109)
* 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 82)
* uc_is_property_hyphen: Properties as functions.
- (line 107)
-* uc_is_property_ideographic: Properties as functions.
- (line 84)
-* uc_is_property_ids_binary_operator: Properties as functions.
- (line 87)
-* uc_is_property_ids_trinary_operator: Properties as functions.
- (line 88)
+ (line 113)
+* 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_ideographic: Properties as functions.
+ (line 87)
+* uc_is_property_ids_binary_operator: Properties as functions.
+ (line 91)
+* uc_is_property_ids_trinary_operator: Properties as functions.
+ (line 92)
+* uc_is_property_ids_unary_operator: Properties as functions.
+ (line 90)
* uc_is_property_ignorable_control: Properties as functions.
- (line 125)
+ (line 131)
* uc_is_property_iso_control: Properties as functions.
- (line 104)
+ (line 108)
* uc_is_property_join_control: Properties as functions.
- (line 51)
+ (line 53)
* uc_is_property_left_of_pair: Properties as functions.
- (line 118)
+ (line 124)
* uc_is_property_line_separator: Properties as functions.
- (line 109)
+ (line 115)
* 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 121)
+* uc_is_property_modifier_combining_mark: Properties as functions.
+ (line 58)
* uc_is_property_non_break: Properties as functions.
- (line 103)
+ (line 107)
* uc_is_property_not_a_character: Properties as functions.
(line 11)
* uc_is_property_numeric: Properties as functions.
- (line 122)
+ (line 128)
* 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 +6810,43 @@ Index
* uc_is_property_other_lowercase: Properties as functions.
(line 27)
* uc_is_property_other_math: Properties as functions.
- (line 116)
+ (line 122)
* uc_is_property_other_uppercase: Properties as functions.
(line 25)
* uc_is_property_paired_punctuation: Properties as functions.
- (line 117)
+ (line 123)
* uc_is_property_paragraph_separator: Properties as functions.
- (line 110)
+ (line 116)
* 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 110)
* uc_is_property_private_use: Properties as functions.
(line 19)
* uc_is_property_punctuation: Properties as functions.
- (line 108)
+ (line 114)
* uc_is_property_quotation_mark: Properties as functions.
- (line 111)
+ (line 117)
* uc_is_property_radical: Properties as functions.
- (line 86)
+ (line 89)
* uc_is_property_regional_indicator: Properties as functions.
- (line 126)
+ (line 132)
* uc_is_property_sentence_terminal: Properties as functions.
- (line 112)
+ (line 118)
* uc_is_property_soft_dotted: Properties as functions.
(line 36)
* uc_is_property_space: Properties as functions.
- (line 102)
+ (line 106)
* uc_is_property_terminal_punctuation: Properties as functions.
- (line 113)
+ (line 119)
* 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 88)
* uc_is_property_uppercase: Properties as functions.
(line 24)
* uc_is_property_variation_selector: Properties as functions.
@@ -6713,7 +6858,7 @@ Index
* uc_is_property_xid_start: Properties as functions.
(line 44)
* uc_is_property_zero_width: Properties as functions.
- (line 101)
+ (line 105)
* uc_is_punct: Classifications like in ISO C.
(line 43)
* uc_is_script: Scripts. (line 30)
@@ -6725,9 +6870,9 @@ Index
(line 59)
* uc_java_ident_category: ISO C and Java syntax.
(line 42)
-* uc_joining_group: Joining group. (line 132)
-* uc_joining_group_byname: Joining group. (line 123)
-* uc_joining_group_name: Joining group. (line 120)
+* uc_joining_group: Joining group. (line 134)
+* uc_joining_group_byname: Joining group. (line 125)
+* uc_joining_group_name: Joining group. (line 122)
* uc_joining_type: Joining type. (line 54)
* uc_joining_type_byname: Joining type. (line 45)
* uc_joining_type_long_name: Joining type. (line 42)
@@ -6737,9 +6882,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 143)
* uc_property_is_valid: Properties as objects.
- (line 153)
+ (line 158)
* uc_property_t: Properties as objects.
(line 8)
* uc_script: Scripts. (line 19)
@@ -6753,28 +6898,30 @@ Index
(line 16)
* uc_width: uniwidth.h. (line 22)
* uc_wordbreak_property: Word break property. (line 40)
+* UCS-4: Unicode. (line 14)
+* ucs4_t: unitypes.h. (line 15)
* 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)
@@ -6849,93 +6996,96 @@ Index

Tag Table:
Node: Top269
-Node: Introduction4027
-Node: Unicode6048
-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: Introduction4025
+Node: Unicode6046
+Node: Unicode and i18n7933
+Node: Locale encodings9593
+Node: In-memory representation11844
+Node: char * strings13832
+Node: Unicode strings19316
+Node: Conventions20495
+Ref: Conventions-Footnote-123673
+Node: unitypes.h23877
+Node: unistr.h24974
+Node: Elementary string checks25539
+Node: Elementary string conversions26161
+Node: Elementary string functions28039
+Node: Iterating28444
+Node: Creating Unicode strings31274
+Node: Copying Unicode strings32210
+Node: Comparing Unicode strings34286
+Node: Searching for a character35841
+Node: Counting characters36640
+Node: Elementary string functions with memory allocation37323
+Node: Elementary string functions on NUL terminated strings37945
+Node: Iterating over a NUL terminated Unicode string38544
+Node: Length40808
+Node: Copying a NUL terminated Unicode string41866
+Node: Comparing NUL terminated Unicode strings44970
+Node: Duplicating a NUL terminated Unicode string47113
+Node: Searching for a character in a NUL terminated Unicode string47880
+Node: Searching for a substring50644
+Node: Tokenizing52167
+Node: uniconv.h53040
+Node: unistdio.h61318
+Node: uniname.h69647
+Node: unictype.h71053
+Node: General category71998
+Node: Object oriented API73053
+Node: Bit mask API82738
+Node: Canonical combining class85033
+Node: Bidi class89188
+Node: Decimal digit value92889
+Node: Digit value93446
+Node: Numeric value94007
+Node: Mirrored character94909
+Node: Arabic shaping96119
+Node: Joining type96588
+Node: Joining group98708
+Node: Properties104611
+Node: Properties as objects105311
+Node: Properties as functions113105
+Node: Other attributes119977
+Node: Indic conjunct break120232
+Node: Scripts121523
+Node: Blocks122934
+Node: ISO C and Java syntax124277
+Node: Classifications like in ISO C125995
+Node: uniwidth.h128807
+Node: unigbrk.h130853
+Node: Grapheme cluster breaks in a string132339
+Node: Grapheme cluster break property135598
+Node: uniwbrk.h137920
+Node: Word breaks in a string138450
+Node: Word break property139542
+Node: unilbrk.h140866
+Node: uninorm.h145418
+Node: Decomposition of characters146053
+Node: Composition of characters149822
+Node: Normalization of strings150535
+Node: Normalizing comparisons152708
+Node: Normalization of streams155206
+Node: unicase.h157323
+Node: Case mappings of characters158012
+Node: Case mappings of strings160160
+Node: Case mappings of substrings163798
+Node: Case insensitive comparison171060
+Node: Case detection176898
+Node: uniregex.h180212
+Node: Using the library180439
+Node: Installation180850
+Node: Compiler options181338
+Node: Include files182970
+Node: Autoconf macro184610
+Node: Reporting problems186251
+Node: More functionality187057
+Node: The wchar_t mess187509
+Node: The char32_t problem189914
+Node: Licenses192277
+Node: GNU GPL194750
+Node: GNU LGPL232296
+Node: GNU FDL240740
+Node: Index265850

End Tag Table
diff --git a/doc/libunistring.texi b/doc/libunistring.texi
index 428e8c65..c6ebf930 100644
--- a/doc/libunistring.texi
+++ b/doc/libunistring.texi
@@ -3,7 +3,18 @@
@setfilename libunistring.info
@documentencoding UTF-8
@settitle GNU libunistring
+
+@c Remove the black boxes generated in the GPL appendix.
@finalout
+
+@c In PDF output, use a brown colour for interactive links,
+@c like it was before commit
+@c https://git.savannah.gnu.org/gitweb/?p=texinfo.git;a=commitdiff;h=b4f50b9f4c083327e81ec5c7cde9b87234a19646
+@tex
+\global\def\linkcolor{\rgbDarkRed}
+\global\def\urlcolor{\rgbDarkRed}
+@end tex
+
@c Indices:
@c am = autoconf macro @amindex
@c cp = concept @cindex
@@ -17,6 +28,7 @@
@syncodeindex am cp
@syncodeindex fn cp
@syncodeindex tp cp
+
@ifclear texi2html
@firstparagraphindent insert
@end ifclear
@@ -98,7 +110,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-2025 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 +141,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-2025 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 +621,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 +726,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 +769,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 +876,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 +894,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..3c482ce1 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, 23 2026 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, 23 2026</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..b0837ff7 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, 23 2026 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>
+<dt><u>Function:</u> const uint8_t * <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="IDX791"></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>
+<dt><u>Function:</u> const uint16_t * <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="IDX792"></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>
+<dt><u>Function:</u> const uint32_t * <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="IDX793"></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>
+<dt><u>Function:</u> const uint8_t * <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="IDX794"></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>
+<dt><u>Function:</u> const uint16_t * <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="IDX795"></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>
+<dt><u>Function:</u> const uint32_t * <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="IDX796"></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="IDX797"></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="IDX798"></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="IDX799"></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="IDX800"></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="IDX801"></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="IDX802"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_CR</b>
-<a name="IDX781"></a>
+<a name="IDX803"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LF</b>
-<a name="IDX782"></a>
+<a name="IDX804"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_CONTROL</b>
-<a name="IDX783"></a>
+<a name="IDX805"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EXTEND</b>
-<a name="IDX784"></a>
+<a name="IDX806"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_PREPEND</b>
-<a name="IDX785"></a>
+<a name="IDX807"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_SPACINGMARK</b>
-<a name="IDX786"></a>
+<a name="IDX808"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_L</b>
-<a name="IDX787"></a>
+<a name="IDX809"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_V</b>
-<a name="IDX788"></a>
+<a name="IDX810"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_T</b>
-<a name="IDX789"></a>
+<a name="IDX811"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LV</b>
-<a name="IDX790"></a>
+<a name="IDX812"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_LVT</b>
-<a name="IDX791"></a>
+<a name="IDX813"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_RI</b>
-<a name="IDX792"></a>
+<a name="IDX814"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_ZWJ</b>
-<a name="IDX793"></a>
+<a name="IDX815"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EB</b>
-<a name="IDX794"></a>
+<a name="IDX816"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EM</b>
-<a name="IDX795"></a>
+<a name="IDX817"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_GAZ</b>
-<a name="IDX796"></a>
+<a name="IDX818"></a>
</dt>
<dt><u>Constant:</u> int <b>GBP_EBG</b>
-<a name="IDX797"></a>
+<a name="IDX819"></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="IDX820"></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="IDX821"></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, 23 2026</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..11dd16d8 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, 23 2026 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="IDX822"></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="IDX823"></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="IDX824"></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="IDX825"></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="IDX826"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_CR</b>
-<a name="IDX805"></a>
+<a name="IDX827"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_LF</b>
-<a name="IDX806"></a>
+<a name="IDX828"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_NEWLINE</b>
-<a name="IDX807"></a>
+<a name="IDX829"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EXTEND</b>
-<a name="IDX808"></a>
+<a name="IDX830"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_FORMAT</b>
-<a name="IDX809"></a>
+<a name="IDX831"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_KATAKANA</b>
-<a name="IDX810"></a>
+<a name="IDX832"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_ALETTER</b>
-<a name="IDX811"></a>
+<a name="IDX833"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDNUMLET</b>
-<a name="IDX812"></a>
+<a name="IDX834"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDLETTER</b>
-<a name="IDX813"></a>
+<a name="IDX835"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_MIDNUM</b>
-<a name="IDX814"></a>
+<a name="IDX836"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_NUMERIC</b>
-<a name="IDX815"></a>
+<a name="IDX837"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EXTENDNUMLET</b>
-<a name="IDX816"></a>
+<a name="IDX838"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_RI</b>
-<a name="IDX817"></a>
+<a name="IDX839"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_DQ</b>
-<a name="IDX818"></a>
+<a name="IDX840"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_SQ</b>
-<a name="IDX819"></a>
+<a name="IDX841"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_HL</b>
-<a name="IDX820"></a>
+<a name="IDX842"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_ZWJ</b>
-<a name="IDX821"></a>
+<a name="IDX843"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EB</b>
-<a name="IDX822"></a>
+<a name="IDX844"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EM</b>
-<a name="IDX823"></a>
+<a name="IDX845"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_GAZ</b>
-<a name="IDX824"></a>
+<a name="IDX846"></a>
</dt>
<dt><u>Constant:</u> int <b>WBP_EBG</b>
-<a name="IDX825"></a>
+<a name="IDX847"></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="IDX848"></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, 23 2026</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..bf56e98a 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, 23 2026 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="IDX849"></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="IDX850"></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="IDX851"></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="IDX852"></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="IDX853"></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="IDX854"></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="IDX855"></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="IDX856"></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="IDX857"></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="IDX858"></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="IDX859"></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="IDX860"></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="IDX861"></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="IDX862"></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, 23 2026</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..b091bf5d 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, 23 2026 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="IDX863"></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="IDX864"></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="IDX865"></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="IDX866"></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="IDX867"></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="IDX868"></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="IDX869"></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="IDX870"></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="IDX871"></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="IDX872"></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="IDX873"></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="IDX874"></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="IDX875"></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="IDX876"></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="IDX877"></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="IDX878"></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="IDX879"></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="IDX880"></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="IDX881"></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="IDX882"></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="IDX883"></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="IDX884"></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="IDX885"></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="IDX886"></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="IDX887"></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="IDX888"></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="IDX889"></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="IDX890"></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="IDX891"></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="IDX892"></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="IDX893"></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="IDX894"></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="IDX895"></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="IDX896"></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="IDX897"></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="IDX898"></a>
+<a name="IDX899"></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="IDX900"></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="IDX901"></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="IDX902"></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="IDX903"></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="IDX904"></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="IDX905"></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="IDX906"></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="IDX907"></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="IDX908"></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="IDX909"></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="IDX910"></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, 23 2026</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..278531e9 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, 23 2026 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="IDX911"></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="IDX912"></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="IDX913"></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="IDX914"></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="IDX915"></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="IDX916"></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="IDX917"></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="IDX918"></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="IDX919"></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="IDX920"></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="IDX921"></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="IDX922"></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="IDX923"></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="IDX924"></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="IDX925"></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="IDX926"></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="IDX927"></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="IDX928"></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="IDX929"></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="IDX930"></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="IDX931"></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="IDX932"></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="IDX933"></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="IDX934"></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="IDX935"></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="IDX936"></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="IDX937"></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="IDX938"></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="IDX939"></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="IDX940"></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="IDX941"></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="IDX942"></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="IDX943"></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="IDX944"></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="IDX945"></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="IDX946"></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="IDX947"></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="IDX948"></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="IDX949"></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="IDX950"></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="IDX951"></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="IDX952"></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="IDX953"></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="IDX954"></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="IDX955"></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="IDX956"></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="IDX957"></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="IDX958"></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="IDX959"></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="IDX960"></a>
+<a name="IDX961"></a>
+<a name="IDX962"></a>
+<a name="IDX963"></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="IDX964"></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="IDX965"></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="IDX966"></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="IDX967"></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="IDX968"></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="IDX969"></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="IDX970"></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="IDX971"></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="IDX972"></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="IDX973"></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="IDX974"></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="IDX975"></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="IDX976"></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="IDX977"></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="IDX978"></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="IDX979"></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="IDX980"></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="IDX981"></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="IDX982"></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="IDX983"></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="IDX984"></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="IDX985"></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="IDX986"></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, 23 2026</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..abf8b781 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, 23 2026 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, 23 2026</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..6baf4e37 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, 23 2026 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="IDX987"></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="IDX988"></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="IDX989"></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="IDX990"></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="IDX991"></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="IDX992"></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, 23 2026</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..09c3eff3 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, 23 2026 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="IDX993"></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, 23 2026</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..06c29cf7 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, 23 2026 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, 23 2026</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..745103c0 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, 23 2026 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, 23 2026</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..f6bc68cc 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, 23 2026 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, 23 2026</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..b5813861 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, 23 2026 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>
@@ -1437,7 +1437,7 @@ FUTURE REVISIONS OF THIS LICENSE
of the GNU Free Documentation License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns. See
-<a href="https://www.gnu.org/copyleft/">https://www.gnu.org/copyleft/</a>.
+<a href="https://www.gnu.org/licenses/">https://www.gnu.org/licenses/</a>.
</p>
<p>Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
@@ -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, 23 2026</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..f87248f2 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, 23 2026 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#IDX780">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#IDX925"><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#IDX933"><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#IDX960">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#IDX962">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#IDX898">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#IDX961">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#IDX899">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#IDX963">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#IDX988">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#IDX783">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#IDX992"><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#IDX782">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#IDX987">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#IDX914">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#IDX993">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#IDX906"><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, 23 2026</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..319ac7a7 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, 23 2026 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,633 @@ 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#IDX957"><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#IDX969"><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#IDX951"><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#IDX965"><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#IDX928"><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#IDX931"><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#IDX936"><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#IDX939"><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#IDX954"><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#IDX945"><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#IDX948"><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#IDX942"><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#IDX798"><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#IDX792"><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#IDX795"><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#IDX985"><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#IDX982"><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#IDX976"><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#IDX979"><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#IDX973"><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#IDX893"><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#IDX896"><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#IDX904"><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#IDX901"><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#IDX856"><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#IDX789"><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#IDX920"><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#IDX923"><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#IDX917"><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#IDX786"><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#IDX860"><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#IDX823"><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#IDX958"><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#IDX970"><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#IDX952"><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#IDX966"><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#IDX929"><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#IDX932"><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#IDX937"><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#IDX940"><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#IDX955"><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#IDX946"><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#IDX949"><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#IDX943"><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#IDX799"><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#IDX793"><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#IDX796"><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#IDX986"><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#IDX983"><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#IDX977"><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#IDX980"><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#IDX974"><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#IDX894"><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#IDX897"><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#IDX905"><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#IDX902"><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#IDX857"><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#IDX790"><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#IDX921"><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#IDX924"><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#IDX918"><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#IDX787"><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#IDX861"><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#IDX824"><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#IDX956"><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#IDX968"><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#IDX950"><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#IDX964"><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#IDX927"><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#IDX930"><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#IDX935"><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#IDX938"><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#IDX953"><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#IDX944"><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#IDX947"><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#IDX941"><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#IDX797"><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#IDX791"><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#IDX794"><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#IDX984"><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#IDX981"><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#IDX975"><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#IDX978"><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#IDX972"><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#IDX892"><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#IDX895"><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#IDX903"><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#IDX900"><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#IDX855"><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#IDX788"><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#IDX919"><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#IDX922"><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#IDX916"><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#IDX785"><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#IDX859"><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#IDX822"><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#IDX757"><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#IDX752"><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#IDX755"><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#IDX753"><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#IDX765"><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#IDX882"><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#IDX883"><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#IDX881"><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#IDX801"><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#IDX820"><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#IDX746"><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#IDX745"><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#IDX744"><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#IDX768"><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#IDX769"><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#IDX779"><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#IDX756"><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#IDX758"><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#IDX770"><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#IDX771"><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#IDX772"><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#IDX821"><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#IDX759"><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#IDX773"><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#IDX774"><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#IDX641"><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#IDX643"><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#IDX700"><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#IDX689"><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#IDX685"><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#IDX691"><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#IDX695"><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#IDX690"><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#IDX682"><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#IDX697"><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#IDX687"><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#IDX688"><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#IDX686"><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#IDX684"><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#IDX683"><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#IDX694"><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#IDX698"><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#IDX696"><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#IDX692"><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#IDX693"><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#IDX659"><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#IDX658"><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#IDX663"><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#IDX664"><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#IDX660"><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#IDX662"><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#IDX661"><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#IDX732"><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#IDX733"><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#IDX727"><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#IDX719"><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#IDX734"><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#IDX646"><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#IDX648"><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#IDX736"><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#IDX707"><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#IDX711"><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#IDX709"><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#IDX710"><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#IDX708"><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#IDX712"><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#IDX737"><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#IDX717"><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#IDX677"><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#IDX678"><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#IDX680"><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#IDX699"><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#IDX720"><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#IDX673"><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#IDX672"><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#IDX668"><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#IDX666"><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#IDX701"><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#IDX705"><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#IDX706"><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#IDX704"><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#IDX738"><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#IDX716"><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#IDX676"><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#IDX731"><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#IDX722"><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#IDX649"><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#IDX655"><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#IDX728"><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#IDX681"><code>uc_is_property_modifier_combining_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#IDX715"><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#IDX645"><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#IDX735"><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#IDX644"><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#IDX647"><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#IDX679"><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#IDX669"><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#IDX667"><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#IDX656"><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#IDX729"><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#IDX654"><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#IDX730"><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#IDX723"><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#IDX675"><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#IDX674"><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#IDX718"><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#IDX651"><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#IDX721"><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#IDX724"><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#IDX703"><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#IDX739"><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#IDX725"><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#IDX665"><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#IDX714"><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#IDX726"><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#IDX657"><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#IDX652"><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#IDX702"><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#IDX653"><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#IDX650"><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#IDX642"><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#IDX671"><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#IDX670"><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#IDX713"><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#IDX775"><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#IDX751"><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#IDX776"><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#IDX777"><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#IDX778"><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#IDX767"><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#IDX539"><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#IDX538"><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#IDX537"><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#IDX915"><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#IDX639"><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#IDX640"><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#IDX540"><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#IDX749"><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#IDX750"><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#IDX747"><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#IDX912"><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#IDX913"><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#IDX911"><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#IDX784"><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#IDX848"><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#IDX959"><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#IDX971"><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#IDX967"><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#IDX800"><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#IDX858"><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#IDX862"><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#IDX825"><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#IDX754">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#IDX748">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#IDX764">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#IDX766">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#IDX781">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#IDX891"><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#IDX907"><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#IDX909"><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#IDX910"><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#IDX908"><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#IDX889"><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#IDX890"><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#IDX884"><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 +685,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, 23 2026</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..b516de66
--- /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, 23 2026 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, 23 2026</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..98ab334c 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, 23 2026 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, 23 2026</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..c51a8d37 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, 23 2026 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, 23 2026</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..d7701be5 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, 23 2026 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, 23 2026</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..61bf2de1 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, 23 2026 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, 23 2026</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..77a9c13e 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, 23 2026 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, 23 2026</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..96fce582 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, 23 2026 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,322 @@ 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>
+<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_KASHMIRI_YEH</b>
+<a name="IDX535"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_JOINING_GROUP_THIN_NOON</b>
+<a name="IDX536"></a>
</dt>
</dl>
@@ -1667,14 +1682,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="IDX537"></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="IDX538"></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 +1700,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="IDX539"></a>
</dt>
<dd><p>Returns the joining group of a Unicode character.
</p></dd></dl>
@@ -1715,7 +1730,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="IDX540"></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 +1743,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="IDX541"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ALPHABETIC</b>
-<a name="IDX537"></a>
+<a name="IDX542"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ALPHABETIC</b>
-<a name="IDX538"></a>
+<a name="IDX543"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NOT_A_CHARACTER</b>
-<a name="IDX539"></a>
+<a name="IDX544"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DEFAULT_IGNORABLE_CODE_POINT</b>
-<a name="IDX540"></a>
+<a name="IDX545"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_DEFAULT_IGNORABLE_CODE_POINT</b>
-<a name="IDX541"></a>
+<a name="IDX546"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DEPRECATED</b>
-<a name="IDX542"></a>
+<a name="IDX547"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LOGICAL_ORDER_EXCEPTION</b>
-<a name="IDX543"></a>
+<a name="IDX548"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_VARIATION_SELECTOR</b>
-<a name="IDX544"></a>
+<a name="IDX549"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PRIVATE_USE</b>
-<a name="IDX545"></a>
+<a name="IDX550"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UNASSIGNED_CODE_VALUE</b>
-<a name="IDX546"></a>
+<a name="IDX551"></a>
</dt>
</dl>
@@ -1766,43 +1781,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="IDX552"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_UPPERCASE</b>
-<a name="IDX548"></a>
+<a name="IDX553"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LOWERCASE</b>
-<a name="IDX549"></a>
+<a name="IDX554"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_LOWERCASE</b>
-<a name="IDX550"></a>
+<a name="IDX555"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_TITLECASE</b>
-<a name="IDX551"></a>
+<a name="IDX556"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CASED</b>
-<a name="IDX552"></a>
+<a name="IDX557"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CASE_IGNORABLE</b>
-<a name="IDX553"></a>
+<a name="IDX558"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_LOWERCASED</b>
-<a name="IDX554"></a>
+<a name="IDX559"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_UPPERCASED</b>
-<a name="IDX555"></a>
+<a name="IDX560"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_TITLECASED</b>
-<a name="IDX556"></a>
+<a name="IDX561"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_CASEFOLDED</b>
-<a name="IDX557"></a>
+<a name="IDX562"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CHANGES_WHEN_CASEMAPPED</b>
-<a name="IDX558"></a>
+<a name="IDX563"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SOFT_DOTTED</b>
-<a name="IDX559"></a>
+<a name="IDX564"></a>
</dt>
</dl>
@@ -1810,28 +1825,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="IDX565"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ID_START</b>
-<a name="IDX561"></a>
+<a name="IDX566"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_CONTINUE</b>
-<a name="IDX562"></a>
+<a name="IDX567"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_ID_CONTINUE</b>
-<a name="IDX563"></a>
+<a name="IDX568"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_XID_START</b>
-<a name="IDX564"></a>
+<a name="IDX569"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_XID_CONTINUE</b>
-<a name="IDX565"></a>
+<a name="IDX570"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_COMPAT_MATH_START</b>
+<a name="IDX571"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ID_COMPAT_MATH_CONTINUE</b>
+<a name="IDX572"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PATTERN_WHITE_SPACE</b>
-<a name="IDX566"></a>
+<a name="IDX573"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PATTERN_SYNTAX</b>
-<a name="IDX567"></a>
+<a name="IDX574"></a>
</dt>
</dl>
@@ -1839,19 +1860,22 @@ 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="IDX575"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_BASE</b>
-<a name="IDX569"></a>
+<a name="IDX576"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_EXTEND</b>
-<a name="IDX570"></a>
+<a name="IDX577"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_GRAPHEME_EXTEND</b>
-<a name="IDX571"></a>
+<a name="IDX578"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_GRAPHEME_LINK</b>
-<a name="IDX572"></a>
+<a name="IDX579"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_MODIFIER_COMBINING_MARK</b>
+<a name="IDX580"></a>
</dt>
</dl>
@@ -1859,55 +1883,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="IDX581"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_LEFT_TO_RIGHT</b>
-<a name="IDX574"></a>
+<a name="IDX582"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_HEBREW_RIGHT_TO_LEFT</b>
-<a name="IDX575"></a>
+<a name="IDX583"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_ARABIC_RIGHT_TO_LEFT</b>
-<a name="IDX576"></a>
+<a name="IDX584"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUROPEAN_DIGIT</b>
-<a name="IDX577"></a>
+<a name="IDX585"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUR_NUM_SEPARATOR</b>
-<a name="IDX578"></a>
+<a name="IDX586"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EUR_NUM_TERMINATOR</b>
-<a name="IDX579"></a>
+<a name="IDX587"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_ARABIC_DIGIT</b>
-<a name="IDX580"></a>
+<a name="IDX588"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_COMMON_SEPARATOR</b>
-<a name="IDX581"></a>
+<a name="IDX589"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_BLOCK_SEPARATOR</b>
-<a name="IDX582"></a>
+<a name="IDX590"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_SEGMENT_SEPARATOR</b>
-<a name="IDX583"></a>
+<a name="IDX591"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_WHITESPACE</b>
-<a name="IDX584"></a>
+<a name="IDX592"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_NON_SPACING_MARK</b>
-<a name="IDX585"></a>
+<a name="IDX593"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_BOUNDARY_NEUTRAL</b>
-<a name="IDX586"></a>
+<a name="IDX594"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_PDF</b>
-<a name="IDX587"></a>
+<a name="IDX595"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_EMBEDDING_OR_OVERRIDE</b>
-<a name="IDX588"></a>
+<a name="IDX596"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_BIDI_OTHER_NEUTRAL</b>
-<a name="IDX589"></a>
+<a name="IDX597"></a>
</dt>
</dl>
@@ -1915,10 +1939,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="IDX598"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ASCII_HEX_DIGIT</b>
-<a name="IDX591"></a>
+<a name="IDX599"></a>
</dt>
</dl>
@@ -1926,19 +1950,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="IDX600"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_UNIFIED_IDEOGRAPH</b>
-<a name="IDX593"></a>
+<a name="IDX601"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_RADICAL</b>
-<a name="IDX594"></a>
+<a name="IDX602"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_UNARY_OPERATOR</b>
+<a name="IDX603"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_BINARY_OPERATOR</b>
-<a name="IDX595"></a>
+<a name="IDX604"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IDS_TRINARY_OPERATOR</b>
-<a name="IDX596"></a>
+<a name="IDX605"></a>
</dt>
</dl>
@@ -1946,22 +1973,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="IDX606"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_PRESENTATION</b>
-<a name="IDX598"></a>
+<a name="IDX607"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_MODIFIER</b>
-<a name="IDX599"></a>
+<a name="IDX608"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_MODIFIER_BASE</b>
-<a name="IDX600"></a>
+<a name="IDX609"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EMOJI_COMPONENT</b>
-<a name="IDX601"></a>
+<a name="IDX610"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EXTENDED_PICTOGRAPHIC</b>
-<a name="IDX602"></a>
+<a name="IDX611"></a>
</dt>
</dl>
@@ -1969,82 +1996,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="IDX612"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SPACE</b>
-<a name="IDX604"></a>
+<a name="IDX613"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NON_BREAK</b>
-<a name="IDX605"></a>
+<a name="IDX614"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_ISO_CONTROL</b>
-<a name="IDX606"></a>
+<a name="IDX615"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_FORMAT_CONTROL</b>
-<a name="IDX607"></a>
+<a name="IDX616"></a>
+</dt>
+<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PREPENDED_CONCATENATION_MARK</b>
+<a name="IDX617"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DASH</b>
-<a name="IDX608"></a>
+<a name="IDX618"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_HYPHEN</b>
-<a name="IDX609"></a>
+<a name="IDX619"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PUNCTUATION</b>
-<a name="IDX610"></a>
+<a name="IDX620"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LINE_SEPARATOR</b>
-<a name="IDX611"></a>
+<a name="IDX621"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PARAGRAPH_SEPARATOR</b>
-<a name="IDX612"></a>
+<a name="IDX622"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_QUOTATION_MARK</b>
-<a name="IDX613"></a>
+<a name="IDX623"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_SENTENCE_TERMINAL</b>
-<a name="IDX614"></a>
+<a name="IDX624"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_TERMINAL_PUNCTUATION</b>
-<a name="IDX615"></a>
+<a name="IDX625"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_CURRENCY_SYMBOL</b>
-<a name="IDX616"></a>
+<a name="IDX626"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_MATH</b>
-<a name="IDX617"></a>
+<a name="IDX627"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_OTHER_MATH</b>
-<a name="IDX618"></a>
+<a name="IDX628"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_PAIRED_PUNCTUATION</b>
-<a name="IDX619"></a>
+<a name="IDX629"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_LEFT_OF_PAIR</b>
-<a name="IDX620"></a>
+<a name="IDX630"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_COMBINING</b>
-<a name="IDX621"></a>
+<a name="IDX631"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_COMPOSITE</b>
-<a name="IDX622"></a>
+<a name="IDX632"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DECIMAL_DIGIT</b>
-<a name="IDX623"></a>
+<a name="IDX633"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_NUMERIC</b>
-<a name="IDX624"></a>
+<a name="IDX634"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_DIACRITIC</b>
-<a name="IDX625"></a>
+<a name="IDX635"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_EXTENDER</b>
-<a name="IDX626"></a>
+<a name="IDX636"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_IGNORABLE_CONTROL</b>
-<a name="IDX627"></a>
+<a name="IDX637"></a>
</dt>
<dt><u>Constant:</u> uc_property_t <b>UC_PROPERTY_REGIONAL_INDICATOR</b>
-<a name="IDX628"></a>
+<a name="IDX638"></a>
</dt>
</dl>
@@ -2052,7 +2082,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="IDX639"></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 +2100,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="IDX640"></a>
</dt>
<dd><p>Returns <code>true</code> when the given property is valid, or <code>false</code>
otherwise.
@@ -2080,7 +2110,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="IDX641"></a>
</dt>
<dd><p>Tests whether the Unicode character <var>uc</var> has the given property.
</p></dd></dl>
@@ -2094,37 +2124,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="IDX642"></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="IDX643"></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="IDX644"></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="IDX645"></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="IDX646"></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="IDX647"></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="IDX648"></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="IDX649"></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="IDX650"></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="IDX651"></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="IDX652"></a>
</dt>
</dl>
@@ -2132,43 +2162,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="IDX653"></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="IDX654"></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="IDX655"></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="IDX656"></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="IDX657"></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="IDX658"></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="IDX659"></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="IDX660"></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="IDX661"></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="IDX662"></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="IDX663"></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="IDX664"></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="IDX665"></a>
</dt>
</dl>
@@ -2176,28 +2206,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="IDX666"></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="IDX667"></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="IDX668"></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="IDX669"></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="IDX670"></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="IDX671"></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="IDX672"></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="IDX673"></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="IDX674"></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="IDX675"></a>
</dt>
</dl>
@@ -2205,19 +2241,22 @@ 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="IDX676"></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="IDX677"></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="IDX678"></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="IDX679"></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="IDX680"></a>
+</dt>
+<dt><u>Function:</u> bool <b>uc_is_property_modifier_combining_mark</b><i> (ucs4_t&nbsp;<var>uc</var>)</i>
+<a name="IDX681"></a>
</dt>
</dl>
@@ -2225,55 +2264,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="IDX682"></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="IDX683"></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="IDX684"></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="IDX685"></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="IDX686"></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="IDX687"></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="IDX688"></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="IDX689"></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="IDX690"></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="IDX691"></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="IDX692"></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="IDX693"></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="IDX694"></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="IDX695"></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="IDX696"></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="IDX697"></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="IDX698"></a>
</dt>
</dl>
@@ -2281,10 +2320,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="IDX699"></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="IDX700"></a>
</dt>
</dl>
@@ -2292,19 +2331,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="IDX701"></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="IDX702"></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="IDX703"></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="IDX704"></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="IDX705"></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="IDX706"></a>
</dt>
</dl>
@@ -2312,22 +2354,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="IDX707"></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="IDX708"></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="IDX709"></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="IDX710"></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="IDX711"></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="IDX712"></a>
</dt>
</dl>
@@ -2335,89 +2377,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="IDX713"></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="IDX714"></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="IDX715"></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="IDX716"></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="IDX717"></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="IDX718"></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="IDX719"></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="IDX720"></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="IDX721"></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="IDX722"></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="IDX723"></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="IDX724"></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="IDX725"></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="IDX726"></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="IDX727"></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="IDX728"></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="IDX729"></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="IDX730"></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="IDX731"></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="IDX732"></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="IDX733"></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="IDX734"></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="IDX735"></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="IDX736"></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="IDX737"></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="IDX738"></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="IDX739"></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="IDX740"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_CONSONANT</b>
+<a name="IDX741"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_LINKER</b>
+<a name="IDX742"></a>
+</dt>
+<dt><u>Constant:</u> int <b>UC_INDIC_CONJUNCT_BREAK_EXTEND</b>
+<a name="IDX743"></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="IDX744"></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="IDX745"></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="IDX746"></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 +2532,7 @@ otherwise.
</p>
<dl>
<dt><u>Type:</u> <b>uc_script_t</b>
-<a name="IDX725"></a>
+<a name="IDX747"></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 +2542,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="IDX748"></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="IDX749"></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 +2555,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="IDX750"></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 +2565,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="IDX751"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given script.
</p></dd></dl>
@@ -2467,7 +2574,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="IDX752"></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 +2582,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 +2592,7 @@ Unicode code points.
</p>
<dl>
<dt><u>Type:</u> <b>uc_block_t</b>
-<a name="IDX731"></a>
+<a name="IDX753"></a>
</dt>
<dd><p>This data type is a structure type that refers to statically allocated data.
It contains the following fields:
@@ -2501,12 +2608,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="IDX754"></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="IDX755"></a>
</dt>
<dd><p>Returns the block a character belongs to.
</p></dd></dl>
@@ -2515,7 +2622,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="IDX756"></a>
</dt>
<dd><p>Tests whether a Unicode character belongs to a given block.
</p></dd></dl>
@@ -2524,7 +2631,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="IDX757"></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 +2639,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="IDX758"></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="IDX759"></a>
</dt>
<dd><p>Tests whether a Unicode character is considered whitespace in Java.
</p></dd></dl>
@@ -2557,7 +2664,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="IDX760"></a>
</dt>
<dd><p>This return value means that the given character is valid as first or
subsequent character in an identifier.
@@ -2565,7 +2672,7 @@ subsequent character in an identifier.
<dl>
<dt><u>Constant:</u> int <b>UC_IDENTIFIER_VALID</b>
-<a name="IDX739"></a>
+<a name="IDX761"></a>
</dt>
<dd><p>This return value means that the given character is valid as subsequent
character only.
@@ -2573,14 +2680,14 @@ character only.
<dl>
<dt><u>Constant:</u> int <b>UC_IDENTIFIER_INVALID</b>
-<a name="IDX740"></a>
+<a name="IDX762"></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="IDX763"></a>
</dt>
<dd><p>This return value (only for Java) means that the given character is ignorable.
</p></dd></dl>
@@ -2588,19 +2695,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="IDX764"></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="IDX765"></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="IDX766"></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="IDX767"></a>
</dt>
<dd><p>Returns the categorization of a Unicode character with respect to the Java
identifier syntax.
@@ -2608,8 +2715,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 +2727,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="IDX768"></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 +2735,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="IDX769"></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 +2745,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="IDX770"></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="IDX771"></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="IDX772"></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 +2767,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="IDX773"></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 +2776,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="IDX774"></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="IDX775"></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 +2791,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="IDX776"></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 +2800,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="IDX777"></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 +2809,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="IDX778"></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="IDX779"></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 +2824,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 +2832,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, 23 2026</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..0cebacb6 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, 23 2026 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="IDX780"></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="IDX781"></a>
+<a name="IDX782"></a>
+<a name="IDX783"></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="IDX784"></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="IDX785"></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="IDX786"></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="IDX787"></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="IDX788"></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="IDX789"></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="IDX790"></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, 23 2026</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..23ae2f42 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, 23 2026 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, 23 2026</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, 23 2026</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..e6fa2fe8
--- /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, 23 2026 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, 23 2026</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..59f197de 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, 23 2026 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, 23 2026</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..108e4916 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 9 February 2025
+@set UPDATED-MONTH February 2025
+@set EDITION 1.4.2
+@set VERSION 1.4.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..f1cec9ce 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
@@ -909,6 +920,8 @@ The joining group has the following possible values:
@deftypevrx Constant int UC_JOINING_GROUP_HANIFI_ROHINGYA_KINNA_YA
@deftypevrx Constant int UC_JOINING_GROUP_THIN_YEH
@deftypevrx Constant int UC_JOINING_GROUP_VERTICAL_TAIL
+@deftypevrx Constant int UC_JOINING_GROUP_KASHMIRI_YEH
+@deftypevrx Constant int UC_JOINING_GROUP_THIN_NOON
@end deftypevr
The following functions implement the association between a joining group
@@ -1003,6 +1016,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
@@ -1014,6 +1029,7 @@ The following properties have an influence on shaping and rendering.
@deftypevrx Constant uc_property_t UC_PROPERTY_GRAPHEME_EXTEND
@deftypevrx Constant uc_property_t UC_PROPERTY_OTHER_GRAPHEME_EXTEND
@deftypevrx Constant uc_property_t UC_PROPERTY_GRAPHEME_LINK
+@deftypevrx Constant uc_property_t UC_PROPERTY_MODIFIER_COMBINING_MARK
@end deftypevr
The following properties relate to bidirectional reordering.
@@ -1048,6 +1064,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 +1086,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 +1181,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
@@ -1174,6 +1194,7 @@ The following properties have an influence on shaping and rendering.
@deftypefunx bool uc_is_property_grapheme_extend (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_other_grapheme_extend (ucs4_t@tie{}@var{uc})
@deftypefunx bool uc_is_property_grapheme_link (ucs4_t@tie{}@var{uc})
+@deftypefunx bool uc_is_property_modifier_combining_mark (ucs4_t@tie{}@var{uc})
@end deftypefun
The following properties relate to bidirectional reordering.
@@ -1208,6 +1229,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 +1251,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 +1275,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..824dce2c 100644
--- a/doc/unigbrk.texi
+++ b/doc/unigbrk.texi
@@ -38,30 +38,32 @@ clusters.
The following functions find a single boundary between grapheme
clusters in a string.
-@deftypefun void u8_grapheme_next (const@tie{}uint8_t@tie{}*@var{s}, const@tie{}uint8_t@tie{}*@var{end})
-@deftypefunx void u16_grapheme_next (const@tie{}uint16_t@tie{}*@var{s}, const@tie{}uint16_t@tie{}*@var{end})
-@deftypefunx void u32_grapheme_next (const@tie{}uint32_t@tie{}*@var{s}, const@tie{}uint32_t@tie{}*@var{end})
+@deftypefun {const uint8_t *} u8_grapheme_next (const@tie{}uint8_t@tie{}*@var{s}, const@tie{}uint8_t@tie{}*@var{end})
+@deftypefunx {const uint16_t *} u16_grapheme_next (const@tie{}uint16_t@tie{}*@var{s}, const@tie{}uint16_t@tie{}*@var{end})
+@deftypefunx {const uint32_t *} u32_grapheme_next (const@tie{}uint32_t@tie{}*@var{s}, const@tie{}uint32_t@tie{}*@var{end})
Returns the start of the next grapheme cluster following @var{s},
or @var{end} if no grapheme cluster break is encountered before it.
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})
-@deftypefunx void u16_grapheme_prev (const@tie{}uint16_t@tie{}*@var{s}, const@tie{}uint16_t@tie{}*@var{start})
-@deftypefunx void u32_grapheme_prev (const@tie{}uint32_t@tie{}*@var{s}, const@tie{}uint32_t@tie{}*@var{start})
+@deftypefun {const uint8_t *} u8_grapheme_prev (const@tie{}uint8_t@tie{}*@var{s}, const@tie{}uint8_t@tie{}*@var{start})
+@deftypefunx {const uint16_t *} u16_grapheme_prev (const@tie{}uint16_t@tie{}*@var{s}, const@tie{}uint16_t@tie{}*@var{start})
+@deftypefunx {const uint32_t *} u32_grapheme_prev (const@tie{}uint32_t@tie{}*@var{s}, const@tie{}uint32_t@tie{}*@var{start})
Returns the start of the grapheme cluster preceding @var{s}, or
@var{start} if no grapheme cluster break is encountered before it.
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..108e4916 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 9 February 2025
+@set UPDATED-MONTH February 2025
+@set EDITION 1.4.2
+@set VERSION 1.4.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