summaryrefslogtreecommitdiff
path: root/doc/posix-functions/tolower.texi
diff options
context:
space:
mode:
authorBruno Haible <bruno@clisp.org>2023-05-16 02:02:13 +0200
committerBruno Haible <bruno@clisp.org>2023-05-16 02:02:13 +0200
commit8c4d0fbf4c45df8e86acbb338b154930c5498dc3 (patch)
tree5401c85ea991c90093b1b2ab1d0afa6f0d0d6c60 /doc/posix-functions/tolower.texi
parentf3059fb80504e1f4e1e4c34562508f404ce7b0f7 (diff)
downloadgnulib-8c4d0fbf4c45df8e86acbb338b154930c5498dc3.tar.gz
doc: New chapter "Strings and Characters".
* doc/strings.texi: New file. * doc/gnulib.texi (POSIXURL): New variable. (posixheader, posixfunc, func): New macros, from GNU libunistring's documentation. Include strings.texi. (Particular Modules): Don't include c-locale.texi here. * doc/c-locale.texi: Sections become subsections, subsections become subsubsections. * doc/posix-functions/isalnum.texi: Mention c32isalnum. * doc/posix-functions/isalpha.texi: Mention c32isalpha. * doc/posix-functions/isblank.texi: Mention c32isblank. * doc/posix-functions/iscntrl.texi: Mention c32iscntrl. * doc/posix-functions/isdigit.texi: Mention c32isdigit. * doc/posix-functions/isgraph.texi: Mention c32isgraph. * doc/posix-functions/islower.texi: Mention c32islower. * doc/posix-functions/isprint.texi: Mention c32isprint. * doc/posix-functions/ispunct.texi: Mention c32ispunct. * doc/posix-functions/isspace.texi: Mention c32isspace. * doc/posix-functions/isupper.texi: Mention c32isupper. * doc/posix-functions/isxdigit.texi: Mention c32isxdigit. * doc/posix-functions/tolower.texi: Mention alternative APIs. * doc/posix-functions/toupper.texi: Likewise. * doc/posix-functions/towlower.texi: Mention c32tolower. * doc/posix-functions/towupper.texi: Mention c32toupper. * doc/posix-functions/wcswidth.texi: Mention c32swidth. * doc/posix-functions/wcwidth.texi: Mention c32width.
Diffstat (limited to 'doc/posix-functions/tolower.texi')
-rw-r--r--doc/posix-functions/tolower.texi31
1 files changed, 28 insertions, 3 deletions
diff --git a/doc/posix-functions/tolower.texi b/doc/posix-functions/tolower.texi
index d8d2bf7f06..9911b7fb0c 100644
--- a/doc/posix-functions/tolower.texi
+++ b/doc/posix-functions/tolower.texi
@@ -16,7 +16,32 @@ OS X 10.8.
Portability problems not fixed by Gnulib:
@itemize
-@item
-On Windows and 32-bit AIX platforms, @code{wchar_t} is a 16-bit type and therefore cannot
-accommodate all Unicode characters.
@end itemize
+
+Note: This function's behaviour depends on the locale, but does not support
+the multibyte characters that occur in strings in locales with
+@code{MB_CUR_MAX > 1} (this includes all the common UTF-8 locales).
+There are four alternative APIs:
+
+@table @code
+@item c_tolower
+This function operates in a locale independent way and returns a different
+value than the argument only for uppercase ASCII characters. It is provided
+by the Gnulib module @samp{c-ctype}.
+
+@item towlower
+This function operates in a locale dependent way, on wide characters. In
+order to use it, you first have to convert from multibyte to wide characters,
+using the @code{mbrtowc} function. It is provided by the Gnulib module
+@samp{wctype}.
+
+@item c32tolower
+This function operates in a locale dependent way, on 32-bit wide characters.
+In order to use it, you first have to convert from multibyte to 32-bit wide
+characters, using the @code{mbrtoc32} function. It is provided by the
+Gnulib module @samp{c32tolower}.
+
+@item uc_tolower
+This function operates in a locale independent way, on Unicode characters.
+It is provided by the Gnulib module @samp{unicase/tolower}.
+@end table