42 lines
1.2 KiB
Plaintext
42 lines
1.2 KiB
Plaintext
@node wcwidth
|
|
@subsection @code{wcwidth}
|
|
@findex wcwidth
|
|
|
|
POSIX specification:@* @url{https://pubs.opengroup.org/onlinepubs/9799919799/functions/wcwidth.html}
|
|
|
|
Gnulib module: wcwidth
|
|
@mindex wcwidth
|
|
|
|
Portability problems fixed by Gnulib:
|
|
@itemize
|
|
@item
|
|
This function is missing on some platforms:
|
|
Minix 3.1.8, mingw, MSVC 14.
|
|
@item
|
|
This function is not declared (without @code{-D_GNU_SOURCE}) on some platforms:
|
|
glibc 2.8.
|
|
@item
|
|
This function handles combining characters in UTF-8 locales incorrectly on some
|
|
platforms:
|
|
macOS 14, NetBSD 9.3, OpenBSD 5.8, MidnightBSD 1.1.
|
|
@item
|
|
This function returns 2 for characters with ambiguous east asian width, even in
|
|
Western locales, on some platforms:
|
|
Solaris 11.4.
|
|
@end itemize
|
|
|
|
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.
|
|
@mindex c32width
|
|
However, the Gnulib function @code{c32width}, provided by Gnulib module
|
|
@code{c32width}, operates on 32-bit wide characters and therefore does not
|
|
have this limitation.
|
|
@item
|
|
This function treats zero-width spaces like control characters on some
|
|
platforms:
|
|
AIX 7.2.
|
|
@end itemize
|