X-Git-Url: https://ncurses.scripts.mit.edu/?p=ncurses.git;a=blobdiff_plain;f=doc%2Fhtml%2Fman%2Fcurs_getcchar.3x.html;h=adee87eb87778cfc4e8a67777149076a1588e9a5;hp=34d4aae0e6dbd5f1b3aa72bb4fb8f6bf435b23d1;hb=c0f109a299a82a33c16bd7af942a12ce9aefaaf0;hpb=06078d3fa68db669ed37178c01873546b4b28745 diff --git a/doc/html/man/curs_getcchar.3x.html b/doc/html/man/curs_getcchar.3x.html index 34d4aae0..adee87eb 100644 --- a/doc/html/man/curs_getcchar.3x.html +++ b/doc/html/man/curs_getcchar.3x.html @@ -1,6 +1,7 @@ - + curs_getcchar 3x - + @@ -65,7 +66,7 @@ const wchar_t *wch, const attr_t attrs, short color_pair, - void *opts ); + const void *opts );

DESCRIPTION

@@ -143,6 +144,53 @@
        ERR.
 
 
+

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).
+
+       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 func-
+       tions 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).
 
@@ -163,6 +211,7 @@
 
  • EXTENSIONS
  • NOTES
  • RETURN VALUE
  • +
  • PORTABILITY
  • SEE ALSO