]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/curs_add_wch.3x.html
ncurses 6.5 - patch 20240504
[ncurses.git] / doc / html / man / curs_add_wch.3x.html
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.4 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.4 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
331 ncurses 6.4                       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>