X-Git-Url: https://ncurses.scripts.mit.edu/?a=blobdiff_plain;ds=sidebyside;f=doc%2Fhtml%2Fman%2Fcurs_getcchar.3x.html;h=b3f0383b958b5070e66df83047d6df62d90d87ee;hb=16fbf3f4f7d96b6ee6bf9159b22f26e05962aa3d;hp=c2f8ad01a7bf557c8071724ad25044c648bbb1ed;hpb=bca50d0d8592defee6c584fdedd25f4b1a31345b;p=ncurses.git diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html index c2f8ad01..b3f0383b 100644 --- a/doc/html/man/curs_getcchar.3x.html +++ b/doc/html/man/curs_getcchar.3x.html @@ -1,6 +1,7 @@ - @@ -34,8 +35,8 @@
The getcchar function gets a wide-character string and rendition from a - cchar_t argument. When wch is not a null pointer, the getcchar func- - tion does the following: + cchar_t argument. When wch is not a null pointer, the getcchar + function does the following: o Extracts information from a cchar_t value wcval @@ -122,8 +123,8 @@ o For functions which retrieve the color, e.g., getcchar, if opts is set it is treated as a pointer to int, and used to retrieve the - color pair as an int value, in addition retrieving it via the stan- - dard pointer to short parameter. + color pair as an int value, in addition retrieving it via the + standard pointer to short parameter.
@@ -133,8 +134,8 @@
- When wch is a null pointer, getcchar returns the number of wide charac- - ters referenced by wcval, including one for a trailing null. + When wch is a null pointer, getcchar returns the number of wide + characters referenced by wcval, including one for a trailing null. When wch is not a null pointer, getcchar returns OK upon successful completion, and ERR otherwise. @@ -143,6 +144,53 @@ ERR. +
+ The CCHARW_MAX symbol is specific to ncurses. X/Open Curses does not + provide details for the layout of the cchar_t structure. It tells what + data are stored in it: + + o a spacing character (wchar_t, i.e., 32-bits). + + o non-spacing characters (again, wchar_t's). + + o attributes (at least 16 bits, inferred from the various ACS- and + WACS-flags). + + o color pair (at least 16 bits, inferred from the unsigned short + type). + + The non-spacing characters are optional, in the sense that zero or more + may be stored in a cchar_t. XOpen/Curses specifies a limit: + + Implementations may limit the number of non-spacing characters that + can be associated with a spacing character, provided any limit is + at least 5. + + The Unix implementations at the time follow that limit: + + o AIX 4 and OSF1 4 use the same declaration with an array of 5 non- + spacing characters z and a single spacing character c. + + o HP-UX 10 uses an opaque structure with 28 bytes, which is large + enough for the 6 wchar_t values. + + o Solaris xpg4 curses uses a single array of 6 wchar_t values. + + This implementation's cchar_t was defined in 1995 using 5 for the total + of spacing and non-spacing characters (CCHARW_MAX). That was probably + due to a misreading of the AIX 4 header files, because the X/Open + Curses document was not generally available at that time. Later (in + 2002), this detail was overlooked when beginning to implement the + functions using the structure. + + In practice, even four non-spacing characters may seem enough. X/Open + Curses documents possible uses for non-spacing characters, including + using them for ligatures between characters (a feature apparently not + supported by any curses implementation). Unicode does not limit the + (analogous) number of combining characters, so some applications may be + affected. + +
Functions: curs_attr(3x), curs_color(3x), curses(3x), wcwidth(3). @@ -163,6 +211,7 @@