- All these functions are described in the XSI Curses stan-
- dard, Issue 4. The defaults specified for forms-drawing
- characters apply in the POSIX locale.
-
- X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG>
- constants. For the wide-character implementation (see
- <STRONG>curs_add_wch</STRONG>), there are analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which
- are <STRONG>cchar_t</STRONG> constants.
-
- Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL,
- ACS_PI, ACS_NEQUAL, ACS_STERLING) were not documented in
- any publicly released System V. However, many publicly
- available terminfos include <STRONG>acsc</STRONG> strings in which their
- key characters (pryz{|}) are embedded, and a second-hand
- list of their character descriptions has come to light.
- The ACS-prefixed names for them were invented for
- <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
-
- The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants
- depend on
-
- <STRONG>o</STRONG> the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncurs-</STRONG>
- <STRONG>esw</STRONG>, where the latter is capable of displaying Unicode
- while the former is not, and
+ All these functions are described in the XSI Curses standard, Issue 4.
+ The defaults specified for forms-drawing characters apply in the POSIX
+ locale.
+
+
+</PRE><H3><a name="h3-ACS-Symbols">ACS Symbols</a></H3><PRE>
+ X/Open Curses states that the <EM>ACS</EM><STRONG>_</STRONG> definitions are <STRONG>char</STRONG> constants. For
+ the wide-character implementation (see <STRONG>curs_add_wch</STRONG>), there are
+ analogous <EM>WACS</EM><STRONG>_</STRONG> definitions which are <STRONG>cchar_t</STRONG> constants. Some
+ implementations are problematic:
+
+ <STRONG>o</STRONG> Some implementations define the ACS symbols to a constant (such as
+ Solaris), while others define those to entries in an array.
+
+ This implementation uses an array <STRONG>acs_map</STRONG>, as done in SVr4 curses.
+ NetBSD also uses an array, actually named <STRONG>_acs_char</STRONG>, with a <STRONG>#define</STRONG>
+ for compatibility.
+
+ <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
+ misdefined symbols are the arrows and other symbols which are not
+ used for line-drawing.
+
+ <STRONG>o</STRONG> X/Open Curses (issues 2 through 7) has a typographical error for
+ the ACS_LANTERN symbol, equating its "VT100+ Character" to <STRONG>I</STRONG>
+ (capital I), while the header files for SVr4 curses and the various
+ implementations use <STRONG>i</STRONG> (lowercase).
+
+ None of the terminal descriptions on Unix platforms use uppercase-
+ I, except for Solaris (i.e., <EM>screen</EM>'s terminal description,
+ apparently based on the X/Open documentation around 1995). On the
+ other hand, the terminal description <EM>gs6300</EM> (AT&T PC6300 with EMOTS
+ Terminal Emulator) uses lowercase-i.
+
+ Some ACS symbols (ACS_S3, ACS_S7, ACS_LEQUAL, ACS_GEQUAL, ACS_PI,
+ ACS_NEQUAL, ACS_STERLING) were not documented in any publicly released
+ System V. However, many publicly available terminfos include <STRONG>acsc</STRONG>
+ strings in which their key characters (pryz{|}) are embedded, and a
+ second-hand list of their character descriptions has come to light.
+ The ACS-prefixed names for them were invented for <STRONG><A HREF="ncurses.3x.html">ncurses(3x)</A></STRONG>.
+
+ The <EM>displayed</EM> values for the <EM>ACS</EM><STRONG>_</STRONG> and <EM>WACS</EM><STRONG>_</STRONG> constants depend on
+
+ <STRONG>o</STRONG> the library configuration, i.e., <STRONG>ncurses</STRONG> versus <STRONG>ncursesw</STRONG>, where the
+ latter is capable of displaying Unicode while the former is not,
+ and