• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!--
2  * t
3  ****************************************************************************
4  * Copyright 2019-2023,2024 Thomas E. Dickey                                *
5  * Copyright 2001-2015,2017 Free Software Foundation, Inc.                  *
6  *                                                                          *
7  * Permission is hereby granted, free of charge, to any person obtaining a  *
8  * copy of this software and associated documentation files (the            *
9  * "Software"), to deal in the Software without restriction, including      *
10  * without limitation the rights to use, copy, modify, merge, publish,      *
11  * distribute, distribute with modifications, sublicense, and/or sell       *
12  * copies of the Software, and to permit persons to whom the Software is    *
13  * furnished to do so, subject to the following conditions:                 *
14  *                                                                          *
15  * The above copyright notice and this permission notice shall be included  *
16  * in all copies or substantial portions of the Software.                   *
17  *                                                                          *
18  * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
19  * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
20  * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
21  * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
22  * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
23  * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
24  * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
25  *                                                                          *
26  * Except as contained in this notice, the name(s) of the above copyright   *
27  * holders shall not be used in advertising or otherwise to promote the     *
28  * sale, use or other dealings in this Software without prior written       *
29  * authorization.                                                           *
30  ****************************************************************************
31  * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 tom Exp @
32-->
33<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
34<HTML>
35<HEAD>
36<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
37<meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
38<TITLE>curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</TITLE>
39<link rel="author" href="mailto:bug-ncurses@gnu.org">
40
41</HEAD>
42<BODY>
43<H1 class="no-header">curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</H1>
44<PRE>
45<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                 Library calls                <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
46
47
48
49
50</PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
51       <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, <STRONG>echo_wchar</STRONG>, <STRONG>wecho_wchar</STRONG> - add
52       a <EM>curses</EM> complex character to a window and advance the cursor
53
54
55</PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
56       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
57
58       <STRONG>int</STRONG> <STRONG>add_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
59       <STRONG>int</STRONG> <STRONG>wadd_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
60       <STRONG>int</STRONG> <STRONG>mvadd_wch(int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
61       <STRONG>int</STRONG> <STRONG>mvwadd_wch(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>y</EM><STRONG>,</STRONG> <STRONG>int</STRONG> <EM>x</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
62
63       <STRONG>int</STRONG> <STRONG>echo_wchar(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
64       <STRONG>int</STRONG> <STRONG>wecho_wchar(WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG>
65
66
67</PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
68
69</PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
70       The <STRONG>add_wch</STRONG>, <STRONG>wadd_wch</STRONG>, <STRONG>mvadd_wch</STRONG>,  and  <STRONG>mvwadd_wch</STRONG>  functions  put  the
71       complex  character  <EM>wch</EM>  into the given window at its current position,
72       which is then advanced.  These functions perform wrapping and  special-
73       character processing as follows:
74
75       <STRONG>o</STRONG>   If  <EM>wch</EM>  refers to a spacing character, then any previous character
76           at that location is removed.  A new character specified by  <EM>wch</EM>  is
77           placed  at  that  location  with  rendition  specified by <EM>wch</EM>.  The
78           cursor then advances after this spacing character, to  prepare  for
79           writing the next character on the screen.
80
81           The newly added spacing character is the base of the active complex
82           character.  Subsequent non-spacing characters can be combined  with
83           this base until another spacing character is written to the screen,
84           or the cursor is moved, e.g., using <STRONG>wmove</STRONG>.
85
86       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a non-spacing character, it  is  appended  to  the
87           active complex character, retaining the previous characters at that
88           location.  The rendition specified by <EM>wch</EM> is ignored.
89
90           The cursor is not advanced after adding  a  non-spacing  character.
91           Subsequent calls to add non-spacing characters will update the same
92           position.
93
94       <STRONG>o</STRONG>   If the character part of <EM>wch</EM> is a tab, newline, backspace or  other
95           control character, the window is updated and the cursor moves as if
96           <STRONG>addch</STRONG> were called.
97
98
99</PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
100       The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
101       followed  by  a  call  to  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.   Similarly, the <STRONG>wecho_wchar</STRONG> is
102       functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed  by  a  call  to
103       <STRONG>wrefresh</STRONG>.   The  knowledge that only a single character is being output
104       is  taken  into  consideration  and,  for  non-control  characters,   a
105       considerable  performance  gain  might  be  seen  by  using  the *<STRONG>echo</STRONG>*
106       functions instead of their equivalents.
107
108
109</PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
110       Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to  draw
111       lines  and  other  frequently  used  special characters.  These symbols
112       correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
113
114                       <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
115
116
117       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>        <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
118       ------------------------------------------------------------------------
119       <STRONG>WACS_BLOCK</STRONG>      0x25ae    #         0      solid square block
120       <STRONG>WACS_BOARD</STRONG>      0x2592    #         h      board of squares
121       <STRONG>WACS_BTEE</STRONG>       0x2534    +         v      bottom tee
122       <STRONG>WACS_BULLET</STRONG>     0x00b7    o         ~      bullet
123       <STRONG>WACS_CKBOARD</STRONG>    0x2592    :         a      checker board (stipple)
124       <STRONG>WACS_DARROW</STRONG>     0x2193    v         .      arrow pointing down
125       <STRONG>WACS_DEGREE</STRONG>     0x00b0    '         f      degree symbol
126       <STRONG>WACS_DIAMOND</STRONG>    0x25c6    +         `      diamond
127       <STRONG>WACS_GEQUAL</STRONG>     0x2265    &gt;         &gt;      greater-than-or-equal-to
128       <STRONG>WACS_HLINE</STRONG>      0x2500    -         q      horizontal line
129       <STRONG>WACS_LANTERN</STRONG>    0x2603    #         i      lantern symbol
130       <STRONG>WACS_LARROW</STRONG>     0x2190    &lt;         ,      arrow pointing left
131       <STRONG>WACS_LEQUAL</STRONG>     0x2264    &lt;         y      less-than-or-equal-to
132       <STRONG>WACS_LLCORNER</STRONG>   0x2514    +         m      lower left-hand corner
133       <STRONG>WACS_LRCORNER</STRONG>   0x2518    +         j      lower right-hand corner
134       <STRONG>WACS_LTEE</STRONG>       0x2524    +         t      left tee
135       <STRONG>WACS_NEQUAL</STRONG>     0x2260    !         |      not-equal
136       <STRONG>WACS_PI</STRONG>         0x03c0    *         {      greek pi
137       <STRONG>WACS_PLMINUS</STRONG>    0x00b1    #         g      plus/minus
138       <STRONG>WACS_PLUS</STRONG>       0x253c    +         n      plus
139       <STRONG>WACS_RARROW</STRONG>     0x2192    &gt;         +      arrow pointing right
140       <STRONG>WACS_RTEE</STRONG>       0x251c    +         u      right tee
141       <STRONG>WACS_S1</STRONG>         0x23ba    -         o      scan line 1
142       <STRONG>WACS_S3</STRONG>         0x23bb    -         p      scan line 3
143       <STRONG>WACS_S7</STRONG>         0x23bc    -         r      scan line 7
144       <STRONG>WACS_S9</STRONG>         0x23bd    _         s      scan line 9
145       <STRONG>WACS_STERLING</STRONG>   0x00a3    f         }      pound-sterling symbol
146       <STRONG>WACS_TTEE</STRONG>       0x252c    +         w      top tee
147       <STRONG>WACS_UARROW</STRONG>     0x2191    ^         -      arrow pointing up
148       <STRONG>WACS_ULCORNER</STRONG>   0x250c    +         l      upper left-hand corner
149       <STRONG>WACS_URCORNER</STRONG>   0x2510    +         k      upper right-hand corner
150       <STRONG>WACS_VLINE</STRONG>      0x2502    |         x      vertical line
151
152       The wide-character configuration of <EM>ncurses</EM> also  defines  symbols  for
153       thick lines (<STRONG>acsc</STRONG> "J" to "V"):
154
155                         <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
156       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
157       ------------------------------------------------------------------------
158       <STRONG>WACS_T_BTEE</STRONG>       0x253b    +         V      thick tee pointing up
159       <STRONG>WACS_T_HLINE</STRONG>      0x2501    -         Q      thick horizontal line
160       <STRONG>WACS_T_LLCORNER</STRONG>   0x2517    +         M      thick lower left corner
161       <STRONG>WACS_T_LRCORNER</STRONG>   0x251b    +         J      thick lower right corner
162       <STRONG>WACS_T_LTEE</STRONG>       0x252b    +         T      thick tee pointing right
163       <STRONG>WACS_T_PLUS</STRONG>       0x254b    +         N      thick large plus
164       <STRONG>WACS_T_RTEE</STRONG>       0x2523    +         U      thick tee pointing left
165       <STRONG>WACS_T_TTEE</STRONG>       0x2533    +         W      thick tee pointing down
166       <STRONG>WACS_T_ULCORNER</STRONG>   0x250f    +         L      thick upper left corner
167       <STRONG>WACS_T_URCORNER</STRONG>   0x2513    +         K      thick upper right corner
168       <STRONG>WACS_T_VLINE</STRONG>      0x2503    |         X      thick vertical line
169
170       and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
171
172                         <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>
173       <STRONG>ACS</STRONG> <STRONG>Name</STRONG>          <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>Char</STRONG>   <STRONG>Glyph</STRONG> <STRONG>Name</STRONG>
174       ------------------------------------------------------------------------
175       <STRONG>WACS_D_BTEE</STRONG>       0x2569    +         H      double tee pointing up
176       <STRONG>WACS_D_HLINE</STRONG>      0x2550    -         R      double horizontal line
177       <STRONG>WACS_D_LLCORNER</STRONG>   0x255a    +         D      double lower left corner
178       <STRONG>WACS_D_LRCORNER</STRONG>   0x255d    +         A      double lower right corner
179       <STRONG>WACS_D_LTEE</STRONG>       0x2560    +         F      double tee pointing right
180       <STRONG>WACS_D_PLUS</STRONG>       0x256c    +         E      double large plus
181       <STRONG>WACS_D_RTEE</STRONG>       0x2563    +         G      double tee pointing left
182
183       <STRONG>WACS_D_TTEE</STRONG>       0x2566    +         I      double tee pointing down
184       <STRONG>WACS_D_ULCORNER</STRONG>   0x2554    +         C      double upper left corner
185       <STRONG>WACS_D_URCORNER</STRONG>   0x2557    +         B      double upper right corner
186       <STRONG>WACS_D_VLINE</STRONG>      0x2551    |         Y      double vertical line
187
188       Unicode's  descriptions  for  these  characters  differs  slightly from
189       <EM>ncurses</EM>, by introducing the term "light"  (along  with  less  important
190       details).   Here are its descriptions for the normal, thick, and double
191       horizontal lines:
192
193       <STRONG>o</STRONG>   U+2500 BOX DRAWINGS LIGHT HORIZONTAL
194
195       <STRONG>o</STRONG>   U+2501 BOX DRAWINGS HEAVY HORIZONTAL
196
197       <STRONG>o</STRONG>   U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
198
199
200</PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
201       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
202
203       X/Open  Curses  does  not   specify   any   error   conditions.    This
204       implementation returns an error
205
206       <STRONG>o</STRONG>   if the window pointer is null or
207
208       <STRONG>o</STRONG>   if it is not possible to add a complete character in the window.
209
210       The latter may be due to different causes:
211
212       <STRONG>o</STRONG>   If  <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></STRONG>  is  not enabled, writing a character at the lower
213           right margin succeeds.  However, an error is returned because it is
214           not possible to wrap to a new line.
215
216       <STRONG>o</STRONG>   If  an error is detected when converting a multibyte character to a
217           sequence of bytes, or if it is not  possible  to  add  all  of  the
218           resulting bytes in the window, an error is returned.
219
220       Functions  prefixed with "mv" first perform cursor movement and fail if
221       the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries.
222
223
224</PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
225       Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
226
227
228</PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
229       These functions are described in X/Open Curses, Issue 4.  The  defaults
230       specified for line-drawing characters apply in the POSIX locale.
231
232
233</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
234       X/Open  Curses  makes it clear that the WACS_ symbols should be defined
235       as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>.  A
236       few implementations are problematic:
237
238       <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
239
240       <STRONG>o</STRONG>   HP-UX  curses  equates  some  of  the <STRONG>ACS_</STRONG> symbols to the analogous
241           <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols  were  wide  characters.   The
242           misdefined  symbols  are the arrows and other symbols which are not
243           used for line-drawing.
244
245       X/Open Curses does not specify  symbols  for  thick-  or  double-lines.
246       SVr4 curses implementations defined their line-drawing symbols in terms
247       of intermediate symbols.  This implementation  extends  those  symbols,
248       providing new definitions which are not in the SVr4 implementations.
249
250       Not  all  Unicode-capable  terminals  provide  support  for VT100-style
251       alternate character  sets  (i.e.,  the  <STRONG>acsc</STRONG>  capability),  with  their
252       corresponding  line-drawing  characters.  X/Open Curses did not address
253       the  aspect  of  integrating  Unicode  with  line-drawing   characters.
254       Existing  implementations of Unix curses (AIX, HP-UX, Solaris) use only
255       the <STRONG>acsc</STRONG> character-mapping to provide this feature.  As a result, those
256       implementations  can  only  use  single-byte  line-drawing  characters.
257       <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values  to  solve  these
258       problems.  NetBSD curses incorporated that table in 2010.
259
260       In  this  implementation,  the  Unicode  values are used instead of the
261       terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
262       environment  variable  <EM>NCURSES</EM><STRONG>_</STRONG><EM>NO</EM><STRONG>_</STRONG><EM>UTF8</EM><STRONG>_</STRONG><EM>ACS</EM>.   In contrast, for the same
263       cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only
264       the ASCII default values.
265
266       Having  Unicode available does not solve all of the problems with line-
267       drawing for curses:
268
269       <STRONG>o</STRONG>   The closest Unicode equivalents to the VT100 graphics  <EM>S1</EM>,  <EM>S3</EM>,  <EM>S7</EM>
270           and  <EM>S9</EM> frequently are not displayed at the regular intervals which
271           the terminal used.
272
273       <STRONG>o</STRONG>   The <EM>lantern</EM> is a special case.  It originated with  the  AT&amp;T  4410
274           terminal  in the early 1980s.  There is no accessible documentation
275           depicting the lantern symbol on the AT&amp;T terminal.
276
277           Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
278           intended.  But there are several possibilities, all with problems.
279
280           Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
281           U+1F3EE.  Those were not available  in  2002,  and  are  irrelevant
282           since  they  lie  outside the BMP and as a result are not generally
283           available in terminals.  They are not storm lanterns, in any case.
284
285           Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
286           tipping); some have a wire grid protecting the chimney.
287
288           For  the  tapering  appearance,   U+2603 was adequate.  In use on a
289           terminal, no one can tell what the image represents.  Unicode calls
290           it a snowman.
291
292           Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
293           mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi),  &lt;delta&gt;  U+03B4
294           (delta),  U+2327 (x in a rectangle),  U+256C (forms double vertical
295           and horizontal), and  U+2612 (ballot box with x).
296
297
298</PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
299       The complex character  type  <STRONG>cchar_t</STRONG>  can  store  more  than  one  wide
300       character  (<STRONG>wchar_t</STRONG>).   The  X/Open Curses description does not mention
301       this possibility, describing only the cases  where  <EM>wch</EM>  is  a  spacing
302       character or a non-spacing character.
303
304       This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>,
305       and in turn that the result
306
307       <STRONG>o</STRONG>   contains at most one spacing character in the beginning of its list
308           of wide characters, and zero or more non-spacing characters or
309
310       <STRONG>o</STRONG>   may hold one non-spacing character.
311
312       In  the  latter  case,  <EM>ncurses</EM>  adds  the non-spacing character to the
313       active (base) spacing character.
314
315
316</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
317       The <STRONG>TABSIZE</STRONG> variable is implemented  in  SVr4  and  other  versions  of
318       <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
319
320
321</PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
322       <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
323       its non-wide-character configuration.
324
325       <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_addwstr.3x.html">curs_addwstr(3x)</A></STRONG>,   <STRONG><A HREF="curs_add_wchstr.3x.html">curs_add_wchstr(3x)</A></STRONG>,   <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,
326       <STRONG><A HREF="curs_clear.3x.html">curs_clear(3x)</A></STRONG>,  <STRONG><A HREF="curs_getcchar.3x.html">curs_getcchar(3x)</A></STRONG>, <STRONG><A HREF="curs_outopts.3x.html">curs_outopts(3x)</A></STRONG>, <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>,
327       <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
328
329
330
331ncurses 6.5                       2024-04-20                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
332</PRE>
333<div class="nav">
334<ul>
335<li><a href="#h2-NAME">NAME</a></li>
336<li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
337<li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
338<ul>
339<li><a href="#h3-add_wch">add_wch</a></li>
340<li><a href="#h3-echo_wchar">echo_wchar</a></li>
341<li><a href="#h3-Line-Graphics">Line Graphics</a></li>
342</ul>
343</li>
344<li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
345<li><a href="#h2-NOTES">NOTES</a></li>
346<li><a href="#h2-PORTABILITY">PORTABILITY</a>
347<ul>
348<li><a href="#h3-WACS-Symbols">WACS Symbols</a></li>
349<li><a href="#h3-Complex-Characters">Complex Characters</a></li>
350<li><a href="#h3-TABSIZE">TABSIZE</a></li>
351</ul>
352</li>
353<li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
354</ul>
355</div>
356</BODY>
357</HTML>
358