]> ncurses.scripts.mit.edu Git - ncurses.git/blob - doc/html/man/curs_add_wch.3x.html
a9bd6c50454f189c7f2ab6d090b82acb940ade45
[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.57 2024/03/23 19:58:15 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-03-23 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-03-23 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  with  a  "mv"  prefix  first perform a cursor movement using
221        <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
222        the window pointer is null.
223
224
225 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
226        Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
227
228
229 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
230        These functions are described in the XSI Curses standard, Issue 4.  The
231        defaults specified for  line-drawing  characters  apply  in  the  POSIX
232        locale.
233
234
235 </PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE>
236        X/Open  Curses  makes it clear that the WACS_ symbols should be defined
237        as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>.  A
238        few implementations are problematic:
239
240        <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
241
242        <STRONG>o</STRONG>   HP-UX  curses  equates  some  of  the <STRONG>ACS_</STRONG> symbols to the analogous
243            <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols  were  wide  characters.   The
244            misdefined  symbols  are the arrows and other symbols which are not
245            used for line-drawing.
246
247        X/Open Curses does not specify  symbols  for  thick-  or  double-lines.
248        SVr4 curses implementations defined their line-drawing symbols in terms
249        of intermediate symbols.  This implementation  extends  those  symbols,
250        providing new definitions which are not in the SVr4 implementations.
251
252        Not  all  Unicode-capable  terminals  provide  support  for VT100-style
253        alternate character  sets  (i.e.,  the  <STRONG>acsc</STRONG>  capability),  with  their
254        corresponding  line-drawing  characters.  X/Open Curses did not address
255        the  aspect  of  integrating  Unicode  with  line-drawing   characters.
256        Existing  implementations of Unix curses (AIX, HP-UX, Solaris) use only
257        the <STRONG>acsc</STRONG> character-mapping to provide this feature.  As a result, those
258        implementations  can  only  use  single-byte  line-drawing  characters.
259        <EM>ncurses</EM> 5.3 (2002) provided a table of Unicode values  to  solve  these
260        problems.  NetBSD curses incorporated that table in 2010.
261
262        In  this  implementation,  the  Unicode  values are used instead of the
263        terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
264        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
265        cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only
266        the ASCII default values.
267
268        Having  Unicode available does not solve all of the problems with line-
269        drawing for curses:
270
271        <STRONG>o</STRONG>   The closest Unicode equivalents to the VT100 graphics  <EM>S1</EM>,  <EM>S3</EM>,  <EM>S7</EM>
272            and  <EM>S9</EM> frequently are not displayed at the regular intervals which
273            the terminal used.
274
275        <STRONG>o</STRONG>   The <EM>lantern</EM> is a special case.  It originated with  the  AT&amp;T  4410
276            terminal  in the early 1980s.  There is no accessible documentation
277            depicting the lantern symbol on the AT&amp;T terminal.
278
279            Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
280            intended.  But there are several possibilities, all with problems.
281
282            Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
283            U+1F3EE.  Those were not available  in  2002,  and  are  irrelevant
284            since  they  lie  outside the BMP and as a result are not generally
285            available in terminals.  They are not storm lanterns, in any case.
286
287            Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
288            tipping); some have a wire grid protecting the chimney.
289
290            For  the  tapering  appearance,   U+2603 was adequate.  In use on a
291            terminal, no one can tell what the image represents.  Unicode calls
292            it a snowman.
293
294            Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
295            mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi),  &lt;delta&gt;  U+03B4
296            (delta),  U+2327 (x in a rectangle),  U+256C (forms double vertical
297            and horizontal), and  U+2612 (ballot box with x).
298
299
300 </PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
301        The complex character  type  <STRONG>cchar_t</STRONG>  can  store  more  than  one  wide
302        character  (<STRONG>wchar_t</STRONG>).   The  X/Open Curses description does not mention
303        this possibility, describing only the cases  where  <EM>wch</EM>  is  a  spacing
304        character or a non-spacing character.
305
306        This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>,
307        and in turn that the result
308
309        <STRONG>o</STRONG>   contains at most one spacing character in the beginning of its list
310            of wide characters, and zero or more non-spacing characters or
311
312        <STRONG>o</STRONG>   may hold one non-spacing character.
313
314        In  the  latter  case,  <EM>ncurses</EM>  adds  the non-spacing character to the
315        active (base) spacing character.
316
317
318 </PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE>
319        The <STRONG>TABSIZE</STRONG> variable is implemented  in  SVr4  and  other  versions  of
320        <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>).
321
322
323 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
324        <STRONG><A HREF="ncurses.3x.html">curses(3x)</A></STRONG>,   <STRONG><A HREF="curs_addch.3x.html">curs_addch(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>,
325        <STRONG><A HREF="curs_attr.3x.html">curs_attr(3x)</A></STRONG>,  <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>,
326        <STRONG><A HREF="curs_refresh.3x.html">curs_refresh(3x)</A></STRONG>, <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG>
327
328
329
330 ncurses 6.4                       2024-03-23                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
331 </PRE>
332 <div class="nav">
333 <ul>
334 <li><a href="#h2-NAME">NAME</a></li>
335 <li><a href="#h2-SYNOPSIS">SYNOPSIS</a></li>
336 <li><a href="#h2-DESCRIPTION">DESCRIPTION</a>
337 <ul>
338 <li><a href="#h3-add_wch">add_wch</a></li>
339 <li><a href="#h3-echo_wchar">echo_wchar</a></li>
340 <li><a href="#h3-Line-Graphics">Line Graphics</a></li>
341 </ul>
342 </li>
343 <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li>
344 <li><a href="#h2-NOTES">NOTES</a></li>
345 <li><a href="#h2-PORTABILITY">PORTABILITY</a>
346 <ul>
347 <li><a href="#h3-WACS-Symbols">WACS Symbols</a></li>
348 <li><a href="#h3-Complex-Characters">Complex Characters</a></li>
349 <li><a href="#h3-TABSIZE">TABSIZE</a></li>
350 </ul>
351 </li>
352 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
353 </ul>
354 </div>
355 </BODY>
356 </HTML>