ncurses 6.2 - patch 20210626
[ncurses.git] / doc / html / man / curs_add_wch.3x.html
index 770f8d6130d0b1e132ce0ee2aa0a337434618061..b71fc03f50351364d9254c79d4f532e0e1604fab 100644 (file)
 <HEAD>
 <meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
 <meta name="generator" content="Manpage converted by man2html - see https://invisible-island.net/scripts/readme.html#others_scripts">
-<TITLE>curs_add_wch 3X</TITLE>
+<TITLE>curs_add_wch 3x</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_add_wch 3X</H1>
+<H1 class="no-header">curs_add_wch 3x</H1>
 <PRE>
-<B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>                                              <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+<STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>                                              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 
 
 
 
 </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE>
-       <B>add_wch</B>, <B>wadd_wch</B>, <B>mvadd_wch</B>, <B>mvwadd_wch</B>, <B>echo_wchar</B>, <B>wecho_wchar</B> - add
-       a complex character and rendition to a <B>curses</B> window, then advance  the
+       <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
+       a complex character and rendition to a <STRONG>curses</STRONG> window, then advance  the
        cursor
 
 
 </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE>
-       <B>#include</B> <B>&lt;curses.h&gt;</B>
+       <STRONG>#include</STRONG> <STRONG>&lt;curses.h&gt;</STRONG>
 
-       <B>int</B> <B>add_wch(</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
-       <B>int</B> <B>wadd_wch(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
-       <B>int</B> <B>mvadd_wch(</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
-       <B>int</B> <B>mvwadd_wch(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>int</B> <I>y</I><B>,</B> <B>int</B> <I>x</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+       <STRONG>int</STRONG> <STRONG>add_wch(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wadd_wch(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>mvadd_wch(</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>
+       <STRONG>int</STRONG> <STRONG>mvwadd_wch(</STRONG> <STRONG>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>
 
-       <B>int</B> <B>echo_wchar(</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
-       <B>int</B> <B>wecho_wchar(</B> <B>WINDOW</B> <B>*</B><I>win</I><B>,</B> <B>const</B> <B>cchar_t</B> <B>*</B><I>wch</I> <B>);</B>
+       <STRONG>int</STRONG> <STRONG>echo_wchar(</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
+       <STRONG>int</STRONG> <STRONG>wecho_wchar(</STRONG> <STRONG>WINDOW</STRONG> <STRONG>*</STRONG><EM>win</EM><STRONG>,</STRONG> <STRONG>const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM> <STRONG>);</STRONG>
 
 
 </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE>
 
 </PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE>
-       The  <B>add_wch</B>,  <B>wadd_wch</B>,  <B>mvadd_wch</B>,  and  <B>mvwadd_wch</B> functions put the
-       complex character <I>wch</I> into the given window at  its  current  position,
+       The  <STRONG>add_wch</STRONG>,  <STRONG>wadd_wch</STRONG>,  <STRONG>mvadd_wch</STRONG>,  and  <STRONG>mvwadd_wch</STRONG> functions put the
+       complex character <EM>wch</EM> into the given window at  its  current  position,
        which  is then advanced.  These functions perform wrapping and special-
        character processing as follows:
 
-       <B>o</B>   If <I>wch</I> refers to a spacing character, then any  previous  character
-           at  that  location is removed.  A new character specified by <I>wch</I> is
-           placed at that location  with  rendition  specified  by  <I>wch</I>.   The
+       <STRONG>o</STRONG>   If <EM>wch</EM> refers to a spacing character, then any  previous  character
+           at  that  location is removed.  A new character specified by <EM>wch</EM> is
+           placed at that location  with  rendition  specified  by  <EM>wch</EM>.   The
            cursor then advances to the next spacing character on the screen.
 
-       <B>o</B>   If  <I>wch</I>  refers to a non-spacing character, all previous characters
-           at that location are preserved.  The non-spacing characters of  <I>wch</I>
+       <STRONG>o</STRONG>   If  <EM>wch</EM>  refers to a non-spacing character, all previous characters
+           at that location are preserved.  The non-spacing characters of  <EM>wch</EM>
            are  added  to  the  spacing  complex  character, and the rendition
-           specified by <I>wch</I> is ignored.
+           specified by <EM>wch</EM> is ignored.
 
-       <B>o</B>   If the character part of <I>wch</I> is a tab, newline, backspace or  other
+       <STRONG>o</STRONG>   If the character part of <EM>wch</EM> is a tab, newline, backspace or  other
            control character, the window is updated and the cursor moves as if
-           <B>addch</B> were called.
+           <STRONG>addch</STRONG> were called.
 
 
 </PRE><H3><a name="h3-echo_wchar">echo_wchar</a></H3><PRE>
-       The <B>echo_wchar</B> function is functionally equivalent to a call to <B>add_wch</B>
-       followed  by  a  call  to  <B><A HREF="curs_refresh.3X.html">refresh(3X)</A></B>.   Similarly, the <B>wecho_wchar</B> is
-       functionally equivalent to a call to <B>wadd_wch</B> followed  by  a  call  to
-       <B>wrefresh</B>.   The  knowledge that only a single character is being output
+       The <STRONG>echo_wchar</STRONG> function is functionally equivalent to a call to <STRONG>add_wch</STRONG>
+       followed  by  a  call  to  <STRONG><A HREF="curs_refresh.3x.html">refresh(3x)</A></STRONG>.   Similarly, the <STRONG>wecho_wchar</STRONG> is
+       functionally equivalent to a call to <STRONG>wadd_wch</STRONG> followed  by  a  call  to
+       <STRONG>wrefresh</STRONG>.   The  knowledge that only a single character is being output
        is  taken  into  consideration  and,  for  non-control  characters,   a
-       considerable  performance  gain  might  be  seen  by  using  the *<B>echo</B>*
+       considerable  performance  gain  might  be  seen  by  using  the *<STRONG>echo</STRONG>*
        functions instead of their equivalents.
 
 
 </PRE><H3><a name="h3-Line-Graphics">Line Graphics</a></H3><PRE>
-       Like <B><A HREF="curs_addch.3X.html">addch(3X)</A></B>, <B>addch_wch</B> accepts symbols which make it simple to  draw
+       Like <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>, <STRONG>addch_wch</STRONG> accepts symbols which make it simple to  draw
        lines  and  other  frequently  used  special characters.  These symbols
-       correspond to the same VT100 line-drawing set as <B><A HREF="curs_addch.3X.html">addch(3X)</A></B>.
+       correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>.
 
-       <B>ACS</B>               <B>Unicode</B>    <B>ASCII</B>     <B>acsc</B>    <B>Glyph</B>
-       <B>Name</B>              <B>Default</B>    <B>Default</B>   <B>char</B>    <B>Name</B>
+       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>    <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>    <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
        ------------------------------------------------------------------------
        WACS_BLOCK        0x25ae     #         0       solid square block
        WACS_BOARD        0x2592     #         h       board of squares
        WACS_VLINE        0x2502     |         x       vertical line
 
        The wide-character configuration of ncurses also  defines  symbols  for
-       thick lines (<B>acsc</B> "J" to "V"):
+       thick lines (<STRONG>acsc</STRONG> "J" to "V"):
 
-       <B>ACS</B>               <B>Unicode</B>   <B>ASCII</B>     <B>acsc</B>    <B>Glyph</B>
-       <B>Name</B>              <B>Default</B>   <B>Default</B>   <B>char</B>    <B>Name</B>
+       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
        -----------------------------------------------------------------------
        WACS_T_BTEE       0x253b    +         V       thick tee pointing up
        WACS_T_HLINE      0x2501    -         Q       thick horizontal line
        WACS_T_URCORNER   0x2513    +         K       thick upper right corner
        WACS_T_VLINE      0x2503    |         X       thick vertical line
 
-       and for double-lines (<B>acsc</B> "A" to "I"):
+       and for double-lines (<STRONG>acsc</STRONG> "A" to "I"):
 
-       <B>ACS</B>               <B>Unicode</B>   <B>ASCII</B>     <B>acsc</B>    <B>Glyph</B>
-       <B>Name</B>              <B>Default</B>   <B>Default</B>   <B>char</B>    <B>Name</B>
+       <STRONG>ACS</STRONG>               <STRONG>Unicode</STRONG>   <STRONG>ASCII</STRONG>     <STRONG>acsc</STRONG>    <STRONG>Glyph</STRONG>
+       <STRONG>Name</STRONG>              <STRONG>Default</STRONG>   <STRONG>Default</STRONG>   <STRONG>char</STRONG>    <STRONG>Name</STRONG>
        ------------------------------------------------------------------------
        WACS_D_BTEE       0x2569    +         H       double tee pointing up
        WACS_D_HLINE      0x2550    -         R       double horizontal line
        details).   Here are its descriptions for the normal, thick, and double
        horizontal lines:
 
-       <B>o</B>   U+2500 BOX DRAWINGS LIGHT HORIZONTAL
+       <STRONG>o</STRONG>   U+2500 BOX DRAWINGS LIGHT HORIZONTAL
 
-       <B>o</B>   U+2501 BOX DRAWINGS HEAVY HORIZONTAL
+       <STRONG>o</STRONG>   U+2501 BOX DRAWINGS HEAVY HORIZONTAL
 
-       <B>o</B>   U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
+       <STRONG>o</STRONG>   U+2550 BOX DRAWINGS DOUBLE HORIZONTAL
 
 
 </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE>
-       All routines return the integer <B>ERR</B> upon failure and <B>OK</B> on success.
+       All routines return the integer <STRONG>ERR</STRONG> upon failure and <STRONG>OK</STRONG> on success.
 
        X/Open does not  define  any  error  conditions.   This  implementation
        returns an error
 
-       <B>o</B>   if the window pointer is null or
+       <STRONG>o</STRONG>   if the window pointer is null or
 
-       <B>o</B>   if it is not possible to add a complete character in the window.
+       <STRONG>o</STRONG>   if it is not possible to add a complete character in the window.
 
        The latter may be due to different causes:
 
-       <B>o</B>   If  <B>scrollok</B> is not enabled, writing a character at the lower right
+       <STRONG>o</STRONG>   If  <STRONG>scrollok</STRONG> is not enabled, writing a character at the lower right
            margin succeeds.  However, an error is returned because it  is  not
            possible to wrap to a new line
 
-       <B>o</B>   If  an error is detected when converting a multibyte character to a
+       <STRONG>o</STRONG>   If  an error is detected when converting a multibyte character to a
            sequence of bytes, or if it is not  possible  to  add  all  of  the
            resulting bytes in the window, an error is returned.
 
        Functions  with  a  "mv"  prefix  first perform a cursor movement using
-       <B>wmove</B>, and return an error if the position is outside the window, or if
+       <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if
        the window pointer is null.
 
 
 </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE>
-       Note that <B>add_wch</B>, <B>mvadd_wch</B>, <B>mvwadd_wch</B>, and <B>echo_wchar</B> may be macros.
+       Note that <STRONG>add_wch</STRONG>, <STRONG>mvadd_wch</STRONG>, <STRONG>mvwadd_wch</STRONG>, and <STRONG>echo_wchar</STRONG> may be macros.
 
 
 </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE>
        POSIX locale.
 
        X/Open  Curses  makes it clear that the WACS_ symbols should be defined
-       as a pointer to <B>cchar_t</B> data, e.g., in the discussion of <B>border_set</B>.  A
+       as a pointer to <STRONG>cchar_t</STRONG> data, e.g., in the discussion of <STRONG>border_set</STRONG>.  A
        few implementations are problematic:
 
-       <B>o</B>   NetBSD curses defines the symbols as a <B>wchar_t</B> within a <B>cchar_t</B>.
+       <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
 
-       <B>o</B>   HPUX curses equates some of the <I>ACS</I><B>_</B> symbols to the analogous <I>WACS</I><B>_</B>
-           symbols  as  if  the  <I>ACS</I><B>_</B>  symbols  were  wide  characters.    The
+       <STRONG>o</STRONG>   HPUX curses equates some of the <EM>ACS</EM><STRONG>_</STRONG> symbols to the analogous <EM>WACS</EM><STRONG>_</STRONG>
+           symbols  as  if  the  <EM>ACS</EM><STRONG>_</STRONG>  symbols  were  wide  characters.    The
            misdefined  symbols  are the arrows and other symbols which are not
            used for line-drawing.
 
        providing new definitions which are not in the SVr4 implementations.
 
        Not  all  Unicode-capable  terminals  provide  support  for VT100-style
-       alternate character  sets  (i.e.,  the  <B>acsc</B>  capability),  with  their
+       alternate character  sets  (i.e.,  the  <STRONG>acsc</STRONG>  capability),  with  their
        corresponding  line-drawing  characters.  X/Open Curses did not address
        the  aspect  of  integrating  Unicode  with  line-drawing   characters.
        Existing  implementations  of Unix curses (AIX, HPUX, Solaris) use only
-       the <B>acsc</B> character-mapping to provide this feature.  As a result, those
+       the <STRONG>acsc</STRONG> character-mapping to provide this feature.  As a result, those
        implementations  can  only  use  single-byte  line-drawing  characters.
        Ncurses 5.3 (2002) provided a table of Unicode values  to  solve  these
        problems.  NetBSD curses incorporated that table in 2010.
 
        In  this  implementation,  the  Unicode  values are used instead of the
-       terminal description's <B>acsc</B> mapping as discussed in <B><A HREF="ncurses.3X.html">ncurses(3X)</A></B> for the
-       environment  variable  <B>NCURSES_NO_UTF8_ACS</B>.   In contrast, for the same
-       cases, the line-drawing characters described in <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B> will use
+       terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
+       environment  variable  <STRONG>NCURSES_NO_UTF8_ACS</STRONG>.   In contrast, for the same
+       cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> will use
        only the ASCII default values.
 
        Having  Unicode available does not solve all of the problems with line-
        drawing for curses:
 
-       <B>o</B>   The closest Unicode equivalents to the VT100 graphics  <I>S1</I>,  <I>S3</I>,  <I>S7</I>
-           and  <I>S9</I> frequently are not displayed at the regular intervals which
+       <STRONG>o</STRONG>   The closest Unicode equivalents to the VT100 graphics  <EM>S1</EM>,  <EM>S3</EM>,  <EM>S7</EM>
+           and  <EM>S9</EM> frequently are not displayed at the regular intervals which
            the terminal used.
 
-       <B>o</B>   The <I>lantern</I> is a special case.  It originated with  the  AT&amp;T  4410
+       <STRONG>o</STRONG>   The <EM>lantern</EM> is a special case.  It originated with  the  AT&amp;T  4410
            terminal  in the early 1980s.  There is no accessible documentation
            depicting the lantern symbol on the AT&amp;T terminal.
 
-           Lacking documentation, most readers assume that a <I>storm</I> <I>lantern</I> was
+           Lacking documentation, most readers assume that a <EM>storm</EM> <EM>lantern</EM> was
            intended.  But there are several possibilities, all with problems.
 
            Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
            since  they  lie  outside the BMP and as a result are not generally
            available in terminals.  They are not storm lanterns, in any case.
 
-           Most <I>storm</I> <I>lanterns</I> have a tapering glass chimney (to guard against
+           Most <EM>storm</EM> <EM>lanterns</EM> have a tapering glass chimney (to guard against
            tipping); some have a wire grid protecting the chimney.
 
            For  the  tapering  appearance,   U+2603 was adequate.  In use on a
 
 
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
-       <B><A HREF="curses.3X.html">curses(3X)</A></B>, <B><A HREF="curs_addch.3X.html">curs_addch(3X)</A></B>, <B><A HREF="curs_attr.3X.html">curs_attr(3X)</A></B>, <B><A HREF="curs_clear.3X.html">curs_clear(3X)</A></B>,
-       <B><A HREF="curs_outopts.3X.html">curs_outopts(3X)</A></B>, <B><A HREF="curs_refresh.3X.html">curs_refresh(3X)</A></B>, <B>putwc(3)</B>
+       <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_attr.3x.html">curs_attr(3x)</A></STRONG>, <STRONG><A HREF="curs_clear.3x.html">curs_clear(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>, <STRONG>putwc(3)</STRONG>
 
 
 
-                                                              <B><A HREF="curs_add_wch.3X.html">curs_add_wch(3X)</A></B>
+                                                              <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>