xref: /dflybsd-src/lib/libc/string/wcswidth.3 (revision 7d3de48c6627bb72c991c76cd5d8a010211db77a)
16d588d9fSSascha Wildner.\" Copyright (c) 2002 Tim J. Robbins
26d588d9fSSascha Wildner.\" All rights reserved.
36d588d9fSSascha Wildner.\"
46d588d9fSSascha Wildner.\" Redistribution and use in source and binary forms, with or without
56d588d9fSSascha Wildner.\" modification, are permitted provided that the following conditions
66d588d9fSSascha Wildner.\" are met:
76d588d9fSSascha Wildner.\" 1. Redistributions of source code must retain the above copyright
86d588d9fSSascha Wildner.\"    notice, this list of conditions and the following disclaimer.
96d588d9fSSascha Wildner.\" 2. Redistributions in binary form must reproduce the above copyright
106d588d9fSSascha Wildner.\"    notice, this list of conditions and the following disclaimer in the
116d588d9fSSascha Wildner.\"    documentation and/or other materials provided with the distribution.
126d588d9fSSascha Wildner.\"
136d588d9fSSascha Wildner.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
146d588d9fSSascha Wildner.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
156d588d9fSSascha Wildner.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
166d588d9fSSascha Wildner.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
176d588d9fSSascha Wildner.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
186d588d9fSSascha Wildner.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
196d588d9fSSascha Wildner.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
206d588d9fSSascha Wildner.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
216d588d9fSSascha Wildner.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
226d588d9fSSascha Wildner.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
236d588d9fSSascha Wildner.\" SUCH DAMAGE.
246d588d9fSSascha Wildner.\"
250d5acd74SJohn Marino.\" $FreeBSD: head/lib/libc/string/wcswidth.3 107706 2002-12-09 14:04:05Z ru $
266d588d9fSSascha Wildner.\"
27*7d3de48cSSascha Wildner.Dd December 27, 2013
286d588d9fSSascha Wildner.Dt WCSWIDTH 3
296d588d9fSSascha Wildner.Os
306d588d9fSSascha Wildner.Sh NAME
31*7d3de48cSSascha Wildner.Nm wcswidth ,
32*7d3de48cSSascha Wildner.Nm wcswidth_l
336d588d9fSSascha Wildner.Nd "number of column positions in wide-character string"
346d588d9fSSascha Wildner.Sh LIBRARY
356d588d9fSSascha Wildner.Lb libc
366d588d9fSSascha Wildner.Sh SYNOPSIS
376d588d9fSSascha Wildner.In wchar.h
386d588d9fSSascha Wildner.Ft int
396d588d9fSSascha Wildner.Fn wcswidth "const wchar_t *pwcs" "size_t n"
40*7d3de48cSSascha Wildner.In xlocale.h
41*7d3de48cSSascha Wildner.Ft int
42*7d3de48cSSascha Wildner.Fn wcswidth_l "const wchar_t *pwcs" "size_t n" "locale_t locale"
436d588d9fSSascha Wildner.Sh DESCRIPTION
446d588d9fSSascha WildnerThe
456d588d9fSSascha Wildner.Fn wcswidth
46*7d3de48cSSascha Wildnerand
47*7d3de48cSSascha Wildner.Fn wcswidth_l
48*7d3de48cSSascha Wildnerfunctions determine the number of column positions required for the first
496d588d9fSSascha Wildner.Fa n
506d588d9fSSascha Wildnercharacters of
516d588d9fSSascha Wildner.Fa pwcs ,
52716024cdSPeter Avalosor until a null wide character (L'\e0') is encountered.
53*7d3de48cSSascha Wildner.Pp
54*7d3de48cSSascha WildnerThe
55*7d3de48cSSascha Wildner.Fn wcswidth_l
56*7d3de48cSSascha Wildnerfunction takes an explicit
57*7d3de48cSSascha Wildner.Fa locale
58*7d3de48cSSascha Wildnerargument, whereas the
59*7d3de48cSSascha Wildner.Fn wcswidth
60*7d3de48cSSascha Wildnerfunction uses the current global or per-thread locale.
616d588d9fSSascha Wildner.Sh RETURN VALUES
626d588d9fSSascha WildnerThe
636d588d9fSSascha Wildner.Fn wcswidth
64*7d3de48cSSascha Wildnerand
65*7d3de48cSSascha Wildner.Fn wcswidth_l
66*7d3de48cSSascha Wildnerfunctions return 0 if
676d588d9fSSascha Wildner.Fa pwcs
686d588d9fSSascha Wildneris an empty string (L""),
696d588d9fSSascha Wildner\-1 if a non-printing wide character is encountered,
70*7d3de48cSSascha Wildnerotherwise they return the number of column positions occupied.
716d588d9fSSascha Wildner.Sh SEE ALSO
726d588d9fSSascha Wildner.Xr iswprint 3 ,
73*7d3de48cSSascha Wildner.Xr wcwidth 3 ,
74*7d3de48cSSascha Wildner.Xr xlocale 3
756d588d9fSSascha Wildner.Sh STANDARDS
766d588d9fSSascha WildnerThe
776d588d9fSSascha Wildner.Fn wcswidth
786d588d9fSSascha Wildnerfunction conforms to
796d588d9fSSascha Wildner.St -p1003.1-2001 .
80