blob: 7e2f11c6b6b86f29e4cf8de7aa44def0a0a42c43 [file] [log] [blame]
.\" Copyright (c) Bruno Haible <haible@clisp.cons.org>
.\"
.\" %%%LICENSE_START(GPLv2+_DOC_ONEPARA)
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\" %%%LICENSE_END
.\"
.\" References consulted:
.\" GNU glibc-2 source code and manual
.\" Dinkumware C library reference http://www.dinkumware.com/
.\" OpenGroup's Single UNIX specification http://www.UNIX-systems.org/online.html
.\"
.TH WCWIDTH 3 2021-03-22 "GNU" "Linux Programmer's Manual"
.SH NAME
wcwidth \- determine columns needed for a wide character
.SH SYNOPSIS
.nf
.BR "#define _XOPEN_SOURCE" " /* See feature_test_macros(7) */"
.B #include <wchar.h>
.PP
.BI "int wcwidth(wchar_t " c );
.fi
.SH DESCRIPTION
The
.BR wcwidth ()
function returns the number of columns
needed to represent the wide character
.IR c .
If
.I c
is a printable wide character, the value
is at least 0.
If
.I c
is null wide character (L\(aq\e0\(aq), the value is 0.
Otherwise, \-1 is returned.
.SH RETURN VALUE
The
.BR wcwidth ()
function returns the number of
column positions for
.IR c .
.SH ATTRIBUTES
For an explanation of the terms used in this section, see
.BR attributes (7).
.ad l
.nh
.TS
allbox;
lbx lb lb
l l l.
Interface Attribute Value
T{
.BR wcwidth ()
T} Thread safety MT-Safe locale
.TE
.hy
.ad
.sp 1
.SH CONFORMING TO
POSIX.1-2001, POSIX.1-2008.
.PP
Note that glibc before 2.2.5 used the prototype
.PP
.nf
.BI "int wcwidth(wint_t " c );
.fi
.SH NOTES
The behavior of
.BR wcwidth ()
depends on the
.B LC_CTYPE
category of the
current locale.
.SH SEE ALSO
.BR iswprint (3),
.BR wcswidth (3)