diff options
Diffstat (limited to 'doc/html/man/curs_add_wch.3x.html')
| -rw-r--r-- | doc/html/man/curs_add_wch.3x.html | 276 |
1 files changed, 160 insertions, 116 deletions
diff --git a/doc/html/man/curs_add_wch.3x.html b/doc/html/man/curs_add_wch.3x.html index 2aa592000831..64c645d5ad02 100644 --- a/doc/html/man/curs_add_wch.3x.html +++ b/doc/html/man/curs_add_wch.3x.html @@ -1,6 +1,7 @@ -<!-- +<!-- + * t **************************************************************************** - * Copyright 2019,2020 Thomas E. Dickey * + * Copyright 2019-2023,2024 Thomas E. Dickey * * Copyright 2001-2015,2017 Free Software Foundation, Inc. * * * * Permission is hereby granted, free of charge, to any person obtaining a * @@ -27,60 +28,68 @@ * sale, use or other dealings in this Software without prior written * * authorization. * **************************************************************************** - * @Id: curs_add_wch.3x,v 1.28 2020/10/17 23:10:38 tom Exp @ + * @Id: curs_add_wch.3x,v 1.62 2024/04/20 21:20:07 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</TITLE> +<TITLE>curs_add_wch 3x 2024-04-20 ncurses 6.5 Library calls</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 2024-04-20 ncurses 6.5 Library calls</H1> <PRE> -<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> +<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> </PRE><H2><a name="h2-NAME">NAME</a></H2><PRE> <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 + a <EM>curses</EM> complex character to a window and advance the cursor </PRE><H2><a name="h2-SYNOPSIS">SYNOPSIS</a></H2><PRE> <STRONG>#include</STRONG> <STRONG><curses.h></STRONG> - <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> + <STRONG>int</STRONG> <STRONG>add_wch(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <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> + <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> + <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> - <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> + <STRONG>int</STRONG> <STRONG>echo_wchar(const</STRONG> <STRONG>cchar_t</STRONG> <STRONG>*</STRONG><EM>wch</EM><STRONG>);</STRONG> + <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> </PRE><H2><a name="h2-DESCRIPTION">DESCRIPTION</a></H2><PRE> </PRE><H3><a name="h3-add_wch">add_wch</a></H3><PRE> - 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- + 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: - <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. + <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 after this spacing character, to prepare for + writing the next character on the screen. + + The newly added spacing character is the base of the active complex + character. Subsequent non-spacing characters can be combined with + this base until another spacing character is written to the screen, + or the cursor is moved, e.g., using <STRONG>wmove</STRONG>. + + <STRONG>o</STRONG> If <EM>wch</EM> refers to a non-spacing character, it is appended to the + active complex character, retaining the previous characters at that + location. The rendition specified by <EM>wch</EM> is ignored. - <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 <EM>wch</EM> is ignored. + The cursor is not advanced after adding a non-spacing character. + Subsequent calls to add non-spacing characters will update the same + position. <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 @@ -102,80 +111,82 @@ lines and other frequently used special characters. These symbols correspond to the same VT100 line-drawing set as <STRONG><A HREF="curs_addch.3x.html">addch(3x)</A></STRONG>. - <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> + <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> + + + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> ------------------------------------------------------------------------ - WACS_BLOCK 0x25ae # 0 solid square block - WACS_BOARD 0x2592 # h board of squares - WACS_BTEE 0x2534 + v bottom tee - WACS_BULLET 0x00b7 o ~ bullet - WACS_CKBOARD 0x2592 : a checker board (stipple) - WACS_DARROW 0x2193 v . arrow pointing down - WACS_DEGREE 0x00b0 ' f degree symbol - - WACS_DIAMOND 0x25c6 + ` diamond - WACS_GEQUAL 0x2265 > > greater-than-or-equal-to - WACS_HLINE 0x2500 - q horizontal line - WACS_LANTERN 0x2603 # i lantern symbol - WACS_LARROW 0x2190 < , arrow pointing left - WACS_LEQUAL 0x2264 < y less-than-or-equal-to - WACS_LLCORNER 0x2514 + m lower left-hand corner - WACS_LRCORNER 0x2518 + j lower right-hand corner - WACS_LTEE 0x2524 + t left tee - WACS_NEQUAL 0x2260 ! | not-equal - WACS_PI 0x03c0 * { greek pi - WACS_PLMINUS 0x00b1 # g plus/minus - WACS_PLUS 0x253c + n plus - WACS_RARROW 0x2192 > + arrow pointing right - WACS_RTEE 0x251c + u right tee - WACS_S1 0x23ba - o scan line 1 - WACS_S3 0x23bb - p scan line 3 - WACS_S7 0x23bc - r scan line 7 - WACS_S9 0x23bd _ s scan line 9 - WACS_STERLING 0x00a3 f } pound-sterling symbol - WACS_TTEE 0x252c + w top tee - WACS_UARROW 0x2191 ^ - arrow pointing up - WACS_ULCORNER 0x250c + l upper left-hand corner - WACS_URCORNER 0x2510 + k upper right-hand corner - WACS_VLINE 0x2502 | x vertical line - - The wide-character configuration of ncurses also defines symbols for + <STRONG>WACS_BLOCK</STRONG> 0x25ae # 0 solid square block + <STRONG>WACS_BOARD</STRONG> 0x2592 # h board of squares + <STRONG>WACS_BTEE</STRONG> 0x2534 + v bottom tee + <STRONG>WACS_BULLET</STRONG> 0x00b7 o ~ bullet + <STRONG>WACS_CKBOARD</STRONG> 0x2592 : a checker board (stipple) + <STRONG>WACS_DARROW</STRONG> 0x2193 v . arrow pointing down + <STRONG>WACS_DEGREE</STRONG> 0x00b0 ' f degree symbol + <STRONG>WACS_DIAMOND</STRONG> 0x25c6 + ` diamond + <STRONG>WACS_GEQUAL</STRONG> 0x2265 > > greater-than-or-equal-to + <STRONG>WACS_HLINE</STRONG> 0x2500 - q horizontal line + <STRONG>WACS_LANTERN</STRONG> 0x2603 # i lantern symbol + <STRONG>WACS_LARROW</STRONG> 0x2190 < , arrow pointing left + <STRONG>WACS_LEQUAL</STRONG> 0x2264 < y less-than-or-equal-to + <STRONG>WACS_LLCORNER</STRONG> 0x2514 + m lower left-hand corner + <STRONG>WACS_LRCORNER</STRONG> 0x2518 + j lower right-hand corner + <STRONG>WACS_LTEE</STRONG> 0x2524 + t left tee + <STRONG>WACS_NEQUAL</STRONG> 0x2260 ! | not-equal + <STRONG>WACS_PI</STRONG> 0x03c0 * { greek pi + <STRONG>WACS_PLMINUS</STRONG> 0x00b1 # g plus/minus + <STRONG>WACS_PLUS</STRONG> 0x253c + n plus + <STRONG>WACS_RARROW</STRONG> 0x2192 > + arrow pointing right + <STRONG>WACS_RTEE</STRONG> 0x251c + u right tee + <STRONG>WACS_S1</STRONG> 0x23ba - o scan line 1 + <STRONG>WACS_S3</STRONG> 0x23bb - p scan line 3 + <STRONG>WACS_S7</STRONG> 0x23bc - r scan line 7 + <STRONG>WACS_S9</STRONG> 0x23bd _ s scan line 9 + <STRONG>WACS_STERLING</STRONG> 0x00a3 f } pound-sterling symbol + <STRONG>WACS_TTEE</STRONG> 0x252c + w top tee + <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 thick lines (<STRONG>acsc</STRONG> "J" to "V"): - <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_LLCORNER 0x2517 + M thick lower left corner - WACS_T_LRCORNER 0x251b + J thick lower right corner - WACS_T_LTEE 0x252b + T thick tee pointing right - WACS_T_PLUS 0x254b + N thick large plus - WACS_T_RTEE 0x2523 + U thick tee pointing left - WACS_T_TTEE 0x2533 + W thick tee pointing down - WACS_T_ULCORNER 0x250f + L thick upper left corner - WACS_T_URCORNER 0x2513 + K thick upper right corner - WACS_T_VLINE 0x2503 | X thick vertical line + <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> + ------------------------------------------------------------------------ + <STRONG>WACS_T_BTEE</STRONG> 0x253b + V thick tee pointing up + <STRONG>WACS_T_HLINE</STRONG> 0x2501 - Q thick horizontal line + <STRONG>WACS_T_LLCORNER</STRONG> 0x2517 + M thick lower left corner + <STRONG>WACS_T_LRCORNER</STRONG> 0x251b + J thick lower right corner + <STRONG>WACS_T_LTEE</STRONG> 0x252b + T thick tee pointing right + <STRONG>WACS_T_PLUS</STRONG> 0x254b + N thick large plus + <STRONG>WACS_T_RTEE</STRONG> 0x2523 + U thick tee pointing left + <STRONG>WACS_T_TTEE</STRONG> 0x2533 + W thick tee pointing down + <STRONG>WACS_T_ULCORNER</STRONG> 0x250f + L thick upper left corner + <STRONG>WACS_T_URCORNER</STRONG> 0x2513 + K thick upper right corner + <STRONG>WACS_T_VLINE</STRONG> 0x2503 | X thick vertical line and for double-lines (<STRONG>acsc</STRONG> "A" to "I"): - <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> + <STRONG>Unicode</STRONG> <STRONG>ASCII</STRONG> <STRONG>acsc</STRONG> + <STRONG>ACS</STRONG> <STRONG>Name</STRONG> <STRONG>Default</STRONG> <STRONG>Default</STRONG> <STRONG>Char</STRONG> <STRONG>Glyph</STRONG> <STRONG>Name</STRONG> ------------------------------------------------------------------------ - WACS_D_BTEE 0x2569 + H double tee pointing up - WACS_D_HLINE 0x2550 - R double horizontal line - WACS_D_LLCORNER 0x255a + D double lower left corner - WACS_D_LRCORNER 0x255d + A double lower right corner - WACS_D_LTEE 0x2560 + F double tee pointing right - WACS_D_PLUS 0x256c + E double large plus - WACS_D_RTEE 0x2563 + G double tee pointing left - WACS_D_TTEE 0x2566 + I double tee pointing down - WACS_D_ULCORNER 0x2554 + C double upper left corner - WACS_D_URCORNER 0x2557 + B double upper right corner - WACS_D_VLINE 0x2551 | Y double vertical line + <STRONG>WACS_D_BTEE</STRONG> 0x2569 + H double tee pointing up + <STRONG>WACS_D_HLINE</STRONG> 0x2550 - R double horizontal line + <STRONG>WACS_D_LLCORNER</STRONG> 0x255a + D double lower left corner + <STRONG>WACS_D_LRCORNER</STRONG> 0x255d + A double lower right corner + <STRONG>WACS_D_LTEE</STRONG> 0x2560 + F double tee pointing right + <STRONG>WACS_D_PLUS</STRONG> 0x256c + E double large plus + <STRONG>WACS_D_RTEE</STRONG> 0x2563 + G double tee pointing left + + <STRONG>WACS_D_TTEE</STRONG> 0x2566 + I double tee pointing down + <STRONG>WACS_D_ULCORNER</STRONG> 0x2554 + C double upper left corner + <STRONG>WACS_D_URCORNER</STRONG> 0x2557 + B double upper right corner + <STRONG>WACS_D_VLINE</STRONG> 0x2551 | Y double vertical line Unicode's descriptions for these characters differs slightly from - ncurses, by introducing the term "light" (along with less important + <EM>ncurses</EM>, by introducing the term "light" (along with less important details). Here are its descriptions for the normal, thick, and double horizontal lines: @@ -189,8 +200,8 @@ </PRE><H2><a name="h2-RETURN-VALUE">RETURN VALUE</a></H2><PRE> 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 + X/Open Curses does not specify any error conditions. This + implementation returns an error <STRONG>o</STRONG> if the window pointer is null or @@ -198,17 +209,16 @@ The latter may be due to different causes: - <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 + <STRONG>o</STRONG> If <STRONG><A HREF="scrollok.3x.html">scrollok(3x)</A></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. <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 - <STRONG>wmove</STRONG>, and return an error if the position is outside the window, or if - the window pointer is null. + Functions prefixed with "mv" first perform cursor movement and fail if + the position (<EM>y</EM>, <EM>x</EM>) is outside the window boundaries. </PRE><H2><a name="h2-NOTES">NOTES</a></H2><PRE> @@ -216,41 +226,42 @@ </PRE><H2><a name="h2-PORTABILITY">PORTABILITY</a></H2><PRE> - All of these functions are described in the XSI Curses standard, Issue - 4. The defaults specified for line-drawing characters apply in the - POSIX locale. + These functions are described in X/Open Curses, Issue 4. The defaults + specified for line-drawing characters apply in the POSIX locale. + +</PRE><H3><a name="h3-WACS-Symbols">WACS Symbols</a></H3><PRE> 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> 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 + <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 define symbols for thick- or double-lines. SVr4 - curses implementations defined their line-drawing symbols in terms of - intermediate symbols. This implementation extends those symbols, + 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, 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, HPUX, Solaris) use only + 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. - Ncurses 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 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. + 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- drawing for curses: @@ -284,13 +295,40 @@ 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 <STRONG>cchar_t</STRONG> can store more than one wide + character (<STRONG>wchar_t</STRONG>). The X/Open Curses description does not mention + this possibility, describing only the cases where <EM>wch</EM> is a spacing + character or a non-spacing character. + + This implementation assumes that <EM>wch</EM> is constructed using <STRONG><A HREF="curs_getcchar.3x.html">setcchar(3x)</A></STRONG>, + and in turn that the result + + <STRONG>o</STRONG> contains at most one spacing character in the beginning of its list + of wide characters, and zero or more non-spacing characters or + + <STRONG>o</STRONG> may hold one non-spacing character. + + In the latter case, <EM>ncurses</EM> adds the non-spacing character to the + active (base) spacing character. + + +</PRE><H3><a name="h3-TABSIZE">TABSIZE</a></H3><PRE> + The <STRONG>TABSIZE</STRONG> variable is implemented in SVr4 and other versions of + <EM>curses</EM>, but is not specified by X/Open Curses (see <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>). + + </PRE><H2><a name="h2-SEE-ALSO">SEE ALSO</a></H2><PRE> - <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> + <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. + <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>, + <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>, + <STRONG><A HREF="curs_variables.3x.html">curs_variables(3x)</A></STRONG>, <STRONG>putwc(3)</STRONG> - <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> + +ncurses 6.5 2024-04-20 <STRONG><A HREF="curs_add_wch.3x.html">curs_add_wch(3x)</A></STRONG> </PRE> <div class="nav"> <ul> @@ -305,7 +343,13 @@ </li> <li><a href="#h2-RETURN-VALUE">RETURN VALUE</a></li> <li><a href="#h2-NOTES">NOTES</a></li> -<li><a href="#h2-PORTABILITY">PORTABILITY</a></li> +<li><a href="#h2-PORTABILITY">PORTABILITY</a> +<ul> +<li><a href="#h3-WACS-Symbols">WACS Symbols</a></li> +<li><a href="#h3-Complex-Characters">Complex Characters</a></li> +<li><a href="#h3-TABSIZE">TABSIZE</a></li> +</ul> +</li> <li><a href="#h2-SEE-ALSO">SEE ALSO</a></li> </ul> </div> |
