X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_getcchar.3x.html;h=6a45e0ac81214ab41467828f1247286c6de66228;hp=34d4aae0e6dbd5f1b3aa72bb4fb8f6bf435b23d1;hb=HEAD;hpb=06078d3fa68db669ed37178c01873546b4b28745 diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html index 34d4aae0..270263f0 100644 --- a/doc/html/man/curs_getcchar.3x.html +++ b/doc/html/man/curs_getcchar.3x.html @@ -1,6 +1,7 @@ - - -curs_getcchar 3x - - + +curs_getcchar 3x 2024-04-13 ncurses 6.4 Library calls + + -

curs_getcchar 3x

+

curs_getcchar 3x 2024-04-13 ncurses 6.4 Library calls

-curs_getcchar(3x)                                            curs_getcchar(3x)
+curs_getcchar(3x)                Library calls               curs_getcchar(3x)
 
 
 
 
 

NAME

-       getcchar,  setcchar  - Get a wide character string and rendition from a
-       cchar_t or set a cchar_t from a wide-character string
+       getcchar,  setcchar  -  convert  between  a wide-character string and a
+       curses complex character
 
 
 

SYNOPSIS

@@ -65,21 +66,21 @@
                const wchar_t *wch,
                const attr_t attrs,
                short color_pair,
-               void *opts );
+               const void *opts );
 
 
 

DESCRIPTION

 
 

getcchar

        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
 
        o   Stores the character attributes in the location pointed to by attrs
 
-       o   Stores the color-pair in the location pointed to by color_pair
+       o   Stores the color pair in the location pointed to by color_pair
 
        o   Stores the wide-character string, characters referenced  by  wcval,
            into the array pointed to by wch.
@@ -103,52 +104,99 @@
            L'\0' terminated, contain at most one spacing character, which must
            be the first.
 
-           Up to CCHARW_MAX-1 nonspacing characters  may  follow.   Additional
-           nonspacing characters are ignored.
+           Up to CCHARW_MAX-1 non-spacing characters may  follow.   Additional
+           non-spacing characters are ignored.
 
            The string may contain a single control character instead.  In that
-           case, no nonspacing characters are allowed.
+           case, no non-spacing characters are allowed.
+
+
+

RETURN VALUE

+       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.
+
+       Upon successful completion, setcchar returns OK.  Otherwise, it returns
+       ERR.
+
+
+

NOTES

+       The wcval argument may be a value generated by a call to setcchar or by
+       a function that has a cchar_t output argument.  If wcval is constructed
+       by any other means, the effect is unspecified.
 
 
 

EXTENSIONS

-       X/Open Curses documents the opts argument as reserved for  future  use,
-       saying  that  it must be null.  This implementation uses that parameter
-       in ABI 6 for the functions which have a color-pair parameter to support
+       X/Open  Curses  documents the opts argument as reserved for future use,
+       saying that it must be null.  This implementation uses  that  parameter
+       in ABI 6 for the functions which have a color pair parameter to support
        extended color pairs:
 
-       o   For   functions  which modify the color, e.g., setcchar, if opts is
+       o   For  functions  which modify the color, e.g., setcchar, if opts  is
            set it is treated as a pointer to int, and used to  set  the  color
            pair instead of the short pair parameter.
 
-       o   For  functions which retrieve the color, e.g., getcchar, if opts is
+       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.
 
 
-

NOTES

-       The wcval argument may be a value generated by a call to setcchar or by
-       a function that has a cchar_t output argument.  If wcval is constructed
-       by any other means, the effect is unspecified.
+

PORTABILITY

+       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).
 
-

RETURN VALUE

-       When wch is a null pointer, getcchar returns the number of wide charac-
-       ters referenced by wcval, including one for a trailing null.
+       o   non-spacing characters (again, wchar_t's).
 
-       When  wch  is  not  a null pointer, getcchar returns OK upon successful
-       completion, and ERR otherwise.
+       o   attributes  (at  least  16 bits, inferred from the various ACS- and
+           WACS-flags).
 
-       Upon successful completion, setcchar returns OK.  Otherwise, it returns
-       ERR.
+       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.
 
 
 

SEE ALSO

-       Functions: curs_attr(3x), curs_color(3x), curses(3x), wcwidth(3).
+       curses(3x), curs_attr(3x), curs_color(3x), wcwidth(3)
 
 
 
-                                                             curs_getcchar(3x)
+ncurses 6.4                       2024-04-13                 curs_getcchar(3x)