]> ncurses.scripts.mit.edu Git - ncurses.git/blobdiff - doc/html/man/curs_add_wch.3x.html
ncurses 6.5 - patch 20240601
[ncurses.git] / doc / html / man / curs_add_wch.3x.html
index 5ffbdca851c53c73060c31e080ad0972b4f96da2..5e9c50347c6d51f7ab90c8ada2a0f70c77a3d8cb 100644 (file)
   * sale, use or other dealings in this Software without prior written       *
   * authorization.                                                           *
   ****************************************************************************
-  * @Id: curs_add_wch.3x,v 1.65 2024/05/25 21:13:15 tom Exp @
+  * @Id: curs_add_wch.3x,v 1.67 2024/06/01 22:29:08 tom Exp @
 -->
 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN">
 <HTML>
 <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 2024-05-25 ncurses 6.5 Library calls</TITLE>
+<TITLE>curs_add_wch 3x 2024-06-01 ncurses 6.5 Library calls</TITLE>
 <link rel="author" href="mailto:bug-ncurses@gnu.org">
 
 </HEAD>
 <BODY>
-<H1 class="no-header">curs_add_wch 3x 2024-05-25 ncurses 6.5 Library calls</H1>
+<H1 class="no-header">curs_add_wch 3x 2024-06-01 ncurses 6.5 Library calls</H1>
 <PRE>
 <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>
 
            <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>.
 
        If  <EM>wch</EM>  is  any other nonprintable character, it is drawn in printable
-       form using the same convention as <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG>.
+       form using the same convention as <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG>.  Calling <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG>  on
+       the  location of a nonprintable character does not return the character
+       itself, but its <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG> representation.
 
-       Calling <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG> on the location of a  nonprintable  character  does
-       not return the character itself, but its <STRONG><A HREF="curs_util.3x.html">wunctrl(3x)</A></STRONG> representation.
+       A <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM> can be copied from  place  to  place  using  <STRONG><A HREF="curs_in_wch.3x.html">win_wch(3x)</A></STRONG>  and
+       <STRONG>wadd_wch</STRONG>.
 
 
 </PRE><H3><a name="h3-wecho_wchar">wecho_wchar</a></H3><PRE>
        <STRONG>WACS_UARROW</STRONG>     0x2191    ^         -      arrow pointing up
        <STRONG>WACS_ULCORNER</STRONG>   0x250c    +         l      upper left-hand corner
        <STRONG>WACS_URCORNER</STRONG>   0x2510    +         k      upper right-hand corner
+
        <STRONG>WACS_VLINE</STRONG>      0x2502    |         x      vertical line
 
        The wide-character configuration of <EM>ncurses</EM> also  defines  symbols  for
        These  functions are described in X/Open Curses, Issue 4.  It specifies
        no error conditions for them.
 
-       SVr4 <EM>curses</EM> describes a successful return value  only  as  "an  integer
-       value other than <STRONG>ERR</STRONG>".
-
-       The  defaults specified for forms-drawing characters apply in the POSIX
-       locale.  X/Open Curses makes it clear that the WACS_ symbols should  be
-       defined  as  a  pointer  to  <STRONG>cchar_t</STRONG>  data,  e.g., in the discussion of
+       The defaults specified for forms-drawing characters apply in the  POSIX
+       locale.   X/Open Curses makes it clear that the WACS_ symbols should be
+       defined as a pointer to  <STRONG>cchar_t</STRONG>  data,  e.g.,  in  the  discussion  of
        <STRONG>border_set</STRONG>.  A few implementations are problematic:
 
        <STRONG>o</STRONG>   NetBSD curses defines the symbols as a <STRONG>wchar_t</STRONG> within a <STRONG>cchar_t</STRONG>.
 
-       <STRONG>o</STRONG>   HP-UX curses equates some of the  <STRONG>ACS_</STRONG>  symbols  to  the  analogous
-           <STRONG>WACS_</STRONG>  symbols  as  if  the <STRONG>ACS_</STRONG> symbols were wide characters.  The
-           misdefined symbols are the arrows and other symbols which  are  not
+       <STRONG>o</STRONG>   HP-UX  curses  equates  some  of  the <STRONG>ACS_</STRONG> symbols to the analogous
+           <STRONG>WACS_</STRONG> symbols as if the <STRONG>ACS_</STRONG> symbols  were  wide  characters.   The
+           misdefined  symbols  are the arrows and other symbols which are not
            used for line-drawing.
 
-       X/Open  Curses  does  not  specify  symbols for thick- or double-lines.
+       X/Open Curses does not specify  symbols  for  thick-  or  double-lines.
        SVr4 curses implementations defined their line-drawing symbols in terms
-       of  intermediate  symbols.   This implementation extends those symbols,
+       of intermediate symbols.  This implementation  extends  those  symbols,
        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  <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, HP-UX, Solaris) use  only
+       Not  all  Unicode-capable  terminals  provide  support  for VT100-style
+       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, HP-UX, Solaris) use only
        the <STRONG>acsc</STRONG> character-mapping to provide this feature.  As a result, those
        implementations  can  only  use  single-byte  line-drawing  characters.
-       <EM>ncurses</EM>  5.3  (2002)  provided a table of Unicode values to solve these
+       <EM>ncurses</EM> 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
+       In  this  implementation,  the  Unicode  values are used instead of the
        terminal description's <STRONG>acsc</STRONG> mapping as discussed in <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG> for the
-       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
+       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
        cases, the line-drawing characters described in <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG> will use only
        the ASCII default values.
 
-       Having Unicode available does not solve all of the problems with  line-
+       Having  Unicode available does not solve all of the problems with line-
        drawing for curses:
 
-       <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
+       <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.
 
-       <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
+       <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 <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
-           U+1F3EE.   Those  were  not  available  in 2002, and are irrelevant
-           since they lie outside the BMP and as a result  are  not  generally
+           Unicode  6.0  (2010)  does provide two lantern symbols: U+1F383 and
+           U+1F3EE.  Those were not available  in  2002,  and  are  irrelevant
+           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 <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
+           For  the  tapering  appearance,   U+2603 was adequate.  In use on a
            terminal, no one can tell what the image represents.  Unicode calls
            it a snowman.
 
            Others have suggested these alternatives: &lt;section&gt; U+00A7 (section
-           mark),  &lt;Theta&gt;  U+0398 (theta), &lt;Phi&gt; U+03A6 (phi), &lt;delta&gt; U+03B4
+           mark), &lt;Theta&gt; U+0398 (theta), &lt;Phi&gt; U+03A6 (phi),  &lt;delta&gt;  U+03B4
            (delta),  U+2327 (x in a rectangle),  U+256C (forms double vertical
            and horizontal), and  U+2612 (ballot box with x).
 
 
 </PRE><H3><a name="h3-Complex-Characters">Complex Characters</a></H3><PRE>
-       The  complex  character  type  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  can  store  more  than one wide
-       character (<EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>).  X/Open Curses does not mention this  possibility,
-       specifying  behavior  only  where  <EM>wch</EM>  is  a  single character, either
+       The complex character  type  <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>  can  store  more  than  one  wide
+       character  (<EM>wchar</EM><STRONG>_</STRONG><EM>t</EM>).  X/Open Curses does not mention this possibility,
+       specifying behavior only  where  <EM>wch</EM>  is  a  single  character,  either
        spacing or non-spacing.
 
        <EM>ncurses</EM> assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>, and in turn
 
        <STRONG>o</STRONG>   holds one non-spacing character.
 
-       In the latter case, <EM>ncurses</EM>  adds  the  non-spacing  character  to  the
+       In  the  latter  case,  <EM>ncurses</EM>  adds  the non-spacing character to the
        active complex character.
 
 
+</PRE><H2><a name="h2-HISTORY">HISTORY</a></H2><PRE>
+       These functions were initially specified by  X/Open  Curses,  Issue  4.
+       The   System V   Interface  Definition,  Version  4  (1995),  specified
+       functions named <EM>waddwch</EM> and <EM>wechowchar</EM> (and the usual variants).  These
+       were later additions to SVr4.<EM>x</EM>, not appearing in the first SVr4 (1989).
+       They differed from X/Open's <EM>wadd</EM><STRONG>_</STRONG><EM>wch</EM> and <EM>wecho</EM><STRONG>_</STRONG><EM>wchar</EM> in that they  each
+       took an argument of type <EM>wchar</EM><STRONG>_</STRONG><EM>t</EM> instead of <EM>cchar</EM><STRONG>_</STRONG><EM>t</EM>.
+
+
 </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE>
        <STRONG><A HREF="curs_addch.3x.html">curs_addch(3x)</A></STRONG> describes comparable functions of the <EM>ncurses</EM> library in
        its non-wide-character configuration.
 
 
 
-ncurses 6.5                       2024-05-25                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
+ncurses 6.5                       2024-06-01                  <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG>
 </PRE>
 <div class="nav">
 <ul>
@@ -380,6 +389,7 @@ ncurses 6.5                       2024-05-25                  <STRONG><A HREF="c
 <li><a href="#h3-Complex-Characters">Complex Characters</a></li>
 </ul>
 </li>
+<li><a href="#h2-HISTORY">HISTORY</a></li>
 <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li>
 </ul>
 </div>