ncurses 5.7 - patch 20091003
authorThomas E. Dickey <dickey@invisible-island.net>
Sun, 4 Oct 2009 00:56:38 +0000 (00:56 +0000)
committerThomas E. Dickey <dickey@invisible-island.net>
Sun, 4 Oct 2009 00:56:38 +0000 (00:56 +0000)
+ add WACS_xxx definitions to wide-character configuration for thick-
  and double-lines (discussion with Slava Zanko).
+ remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+ add ccc and initc capabilities to xterm-16color -TD
> patch by Benjamin C W Sittler:
+ add linux-16color
+ correct initc capability of linux-c-nc end-of-range
+ similar change for dg+ccc and dgunix+ccc

NEWS
dist.mk
include/curses.wide
misc/terminfo.src
ncurses/tinfo/lib_acs.c
ncurses/widechar/lib_wacs.c
test/dots_mvcur.c
test/ncurses.c

diff --git a/NEWS b/NEWS
index 1d720a4937e8f01860dd5f5e0a45c5538b069481..f6100a5b1e4b9a45cfa8dbd532619db7d0effbb8 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -25,7 +25,7 @@
 -- sale, use or other dealings in this Software without prior written        --
 -- authorization.                                                            --
 -------------------------------------------------------------------------------
--- $Id: NEWS,v 1.1443 2009/09/27 14:48:04 tom Exp $
+-- $Id: NEWS,v 1.1446 2009/10/03 21:21:16 tom Exp $
 -------------------------------------------------------------------------------
 
 This is a log of changes that ncurses has gone through since Zeyd started
@@ -45,6 +45,16 @@ See the AUTHORS file for the corresponding full names.
 Changes through 1.9.9e did not credit all contributions;
 it is not possible to add this information.
 
+20091003
+       + add WACS_xxx definitions to wide-character configuration for thick-
+         and double-lines (discussion with Slava Zanko).
+       + remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+       + add ccc and initc capabilities to xterm-16color -TD
+       > patch by Benjamin C W Sittler:
+       + add linux-16color
+       + correct initc capability of linux-c-nc end-of-range
+       + similar change for dg+ccc and dgunix+ccc
+
 20090927
        + move leak-checking for comp_captab.c into _nc_leaks_tinfo() since
          that module since 20090711 is in libtinfo.
diff --git a/dist.mk b/dist.mk
index f1975bd92f986f480825e5a9cd6a9e333ec9f390..433bb1c3fa8a5a31787cc66220df54655ffe6804 100644 (file)
--- a/dist.mk
+++ b/dist.mk
@@ -25,7 +25,7 @@
 # use or other dealings in this Software without prior written               #
 # authorization.                                                             #
 ##############################################################################
-# $Id: dist.mk,v 1.723 2009/09/27 14:27:30 tom Exp $
+# $Id: dist.mk,v 1.724 2009/10/03 13:39:55 tom Exp $
 # Makefile for creating ncurses distributions.
 #
 # This only needs to be used directly as a makefile by developers, but
@@ -37,7 +37,7 @@ SHELL = /bin/sh
 # These define the major/minor/patch versions of ncurses.
 NCURSES_MAJOR = 5
 NCURSES_MINOR = 7
-NCURSES_PATCH = 20090927
+NCURSES_PATCH = 20091003
 
 # We don't append the patch to the version, since this only applies to releases
 VERSION = $(NCURSES_MAJOR).$(NCURSES_MINOR)
index e21e4b409cfeec4dbafba726cefe4e489c3e8450..f41e1658423637846fdb5897a753144be8c3bd9a 100644 (file)
@@ -1,4 +1,4 @@
-/* $Id: curses.wide,v 1.39 2009/05/09 15:43:00 tom Exp $ */
+/* $Id: curses.wide,v 1.40 2009/10/03 19:42:45 tom Exp $ */
 /*
  * vile:cmode:
  * This file is part of ncurses, designed to be appended after curses.h.in
@@ -62,6 +62,56 @@ extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
 #define WACS_NEQUAL    NCURSES_WACS('|') /* not equal */
 #define WACS_STERLING  NCURSES_WACS('}') /* UK pound sign */
 
+       /* double lines */
+#define WACS_BDDB      NCURSES_WACS('C')
+#define WACS_DDBB      NCURSES_WACS('D')
+#define WACS_BBDD      NCURSES_WACS('B')
+#define WACS_DBBD      NCURSES_WACS('A')
+#define WACS_DBDD      NCURSES_WACS('G')
+#define WACS_DDDB      NCURSES_WACS('F')
+#define WACS_DDBD      NCURSES_WACS('H')
+#define WACS_BDDD      NCURSES_WACS('I')
+#define WACS_BDBD      NCURSES_WACS('R')
+#define WACS_DBDB      NCURSES_WACS('Y')
+#define WACS_DDDD      NCURSES_WACS('E')
+
+#define WACS_D_ULCORNER        WACS_BDDB
+#define WACS_D_LLCORNER        WACS_DDBB
+#define WACS_D_URCORNER        WACS_BBDD
+#define WACS_D_LRCORNER        WACS_DBBD
+#define WACS_D_RTEE    WACS_DBDD
+#define WACS_D_LTEE    WACS_DDDB
+#define WACS_D_BTEE    WACS_DDBD
+#define WACS_D_TTEE    WACS_BDDD
+#define WACS_D_HLINE   WACS_BDBD
+#define WACS_D_VLINE   WACS_DBDB
+#define WACS_D_PLUS    WACS_DDDD
+
+       /* thick lines */
+#define WACS_BTTB      NCURSES_WACS('L')
+#define WACS_TTBB      NCURSES_WACS('M')
+#define WACS_BBTT      NCURSES_WACS('K')
+#define WACS_TBBT      NCURSES_WACS('J')
+#define WACS_TBTT      NCURSES_WACS('U')
+#define WACS_TTTB      NCURSES_WACS('T')
+#define WACS_TTBT      NCURSES_WACS('V')
+#define WACS_BTTT      NCURSES_WACS('W')
+#define WACS_BTBT      NCURSES_WACS('Q')
+#define WACS_TBTB      NCURSES_WACS('X')
+#define WACS_TTTT      NCURSES_WACS('N')
+
+#define WACS_T_ULCORNER        WACS_BTTB
+#define WACS_T_LLCORNER        WACS_TTBB
+#define WACS_T_URCORNER        WACS_BBTT
+#define WACS_T_LRCORNER        WACS_TBBT
+#define WACS_T_RTEE    WACS_TBTT
+#define WACS_T_LTEE    WACS_TTTB
+#define WACS_T_BTEE    WACS_TTBT
+#define WACS_T_TTEE    WACS_BTTT
+#define WACS_T_HLINE   WACS_BTBT
+#define WACS_T_VLINE   WACS_TBTB
+#define WACS_T_PLUS    WACS_TTTT
+
 /*
  * Function prototypes for wide-character operations.
  *
index 20ac21618849cfb56de3d6e7f3dc3b4ae78aa85d..5d7d1061f9f47e8d98d52b69beb808b32697882e 100644 (file)
@@ -6,8 +6,8 @@
 # Report bugs and new terminal descriptions to
 #      bug-ncurses@gnu.org
 #
-#      $Revision: 1.350 $
-#      $Date: 2009/09/19 19:32:02 $
+#      $Revision: 1.353 $
+#      $Date: 2009/10/03 18:57:06 $
 #
 # The original header is preserved below for reference.  It is noted that there
 # is a "newer" version which differs in some cosmetic details (but actually
@@ -780,12 +780,12 @@ linux-m|Linux console no color,
 # 1.9.9.
 linux-c-nc|linux console with color-change,
        ccc,
-       initc=\E]P%p1%x%p2%{256}%*%{1000}%/%02x%p3%{256}%*%{1000}%/%02x%p4%{256}%*%{1000}%/%02x,
+       initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
        oc=\E]R, use=linux-basic,
 # From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
 linux-c|linux console 1.3.6+ for older ncurses,
        ccc,
-       initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{256}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;,
+       initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p3%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;,
        oc=\E]R, use=linux-basic,
 
 # The 2.2.x kernels add a private mode that sets the cursor type; use that to
@@ -848,6 +848,16 @@ kon|kon2|jfbterm|Kanji ON Linux console,
        initp@, kcbt@, oc@, op=\E[37;40m, rs1=\Ec, tsl=\E[?T,
        use=linux,
 
+# 16-color linux console entry; this works with a 256-character
+# console font but bright background colors turn into dim ones when
+# you use a 512-character console font. This uses bold for bright
+# foreground colors and blink for bright background colors.
+linux-16color|linux console with 16 colors,
+       colors#16, ncv#54, pairs#256,
+       setab=\E[4%p1%{7}%m%d%?%p1%{7}%>%t;5%e;25%;m,
+       setaf=\E[3%p1%{7}%m%d%?%p1%{7}%>%t;1%e;21%;m,
+       use=linux,
+
 #### Mach
 #
 
@@ -2722,13 +2732,13 @@ putty|PuTTY terminal emulator,
        indn=\E[%p1%dS,
        initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x,
        is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
-       kb2=\E[G, kbs=\177, kcan=^C, kcbt=\E[Z, kcub1=\E[D,
-       kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~,
-       kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
-       kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
-       kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
-       kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
-       kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+       kb2=\E[G, kbs=\177, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+       kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[3~, kend=\E[4~,
+       kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+       kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+       kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+       kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+       kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
        khome=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
        kspd=^Z, nel=^M^J, oc=\E]R, op=\E[39;49m, rc=\E8, rev=\E[7m,
        ri=\EM, rin=\E[%p1%dT, rmacs=^O, rmam=\E[?7l,
@@ -3290,11 +3300,15 @@ xterm-basic|modern xterm terminal emulator - common,
 xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
        rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33,
 
-# This is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
+# 16-colors is one of the variants of XFree86 3.3 xterm, updated for 4.0 (T.Dickey)
+# If configured to support 88- or 256-colors (which is fairly common in 2009),
+# xterm also recognizes the control sequences for initc -TD
 xterm-16color|xterm with 16 colors like aixterm,
+       ccc,
+       initc=\E]4;%p1%d;rgb\:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
        use=ibm+16color, use=xterm-new,
 
-# This is a compile-time feature of XFree86 xterm beginning with
+# 256-colors is a compile-time feature of XFree86 xterm beginning with
 # patch #111 (1999/7/10) -TD
 xterm+256color|xterm 256-color feature,
        ccc,
@@ -3304,7 +3318,7 @@ xterm+256color|xterm 256-color feature,
        setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m,
        setb@, setf@,
 
-# This is a compile-time feature of XFree86 xterm beginning with
+# 88-colors is a compile-time feature of XFree86 xterm beginning with
 # patch #115 (1999/9/18) -TD
 #
 # Note that the escape sequences used are the same as for 256-colors - xterm
@@ -12423,7 +12437,7 @@ dgmode+color|Color info for Data General D470C terminals in DG mode,
 dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode,
        bce, ccc,
        colors#52, ncv#53, pairs#26,
-       initp=\036RG0%p1%02X%p2%{256}%*%{1001}%/%02X%p3%{256}%*%{1001}%/%02X%p4%{256}%*%{1001}%/%02X%p5%{256}%*%{1001}%/%02X%p6%{256}%*%{1001}%/%02X%p7%{256}%*%{1001}%/%02X,
+       initp=\036RG0%p1%02X%p2%{255}%*%{1000}%/%02X%p3%{255}%*%{1000}%/%02X%p4%{255}%*%{1000}%/%02X%p5%{255}%*%{1000}%/%02X%p6%{255}%*%{1000}%/%02X%p7%{255}%*%{1000}%/%02X,
        oc=\036RG01A00FF00000000\036RG01B00000000FF00\036RG01C007F00000000\036RG01D000000007F00,
        op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D,
        scp=\036RG2%p1%02X,
@@ -12432,7 +12446,7 @@ dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode,
 dg+ccc|Configurable color info for DG D430C terminals in DG mode,
        bce, ccc,
        colors#52, ncv#53, pairs#26,
-       initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{256}%*%{1001}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c,
+       initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p3%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p4%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p5%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p6%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c,
        oc=\036RG01\:00??00000000\036RG01;00000000??00\036RG01<007?00000000\036RG01=000000007?00,
        op=\036RF4831\:\036RF2>31;\036RF1=31<\036RF3?31=,
        scp=\036RG2%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c,
@@ -21882,6 +21896,13 @@ v3220|LANPAR Vision II model 3220/3221/3222,
 #      * improve interix smso by using reverse rather than bold (report by
 #        Kristof Zelechovski).
 #
+# 2009-10-03
+#      * remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+#      * add linux-16color (Benjamin Sittler)
+#      * correct initc capability of linux-c-nc end-of-range (Benjamin Sittler)
+#      * similar change for dg+ccc and dgunix+ccc (Benjamin Sittler)
+#      * add ccc and initc capabilities to xterm-16color -TD
+#
 # The following sets edit modes for GNU EMACS.
 # Local Variables:
 # fill-prefix:"\t"
index 85e161d9aca1fa064cff57dbe6de251a54468187..5be3659f021f2f8f4728ed148fa01e5296a10ee9 100644 (file)
@@ -39,7 +39,7 @@
 #define CUR SP_TERMTYPE
 #endif
 
-MODULE_ID("$Id: lib_acs.c,v 1.40 2009/06/06 18:08:04 tom Exp $")
+MODULE_ID("$Id: lib_acs.c,v 1.41 2009/10/04 00:26:54 tom Exp $")
 
 #if BROKEN_LINKER || USE_REENTRANT
 #define MyBuffer _nc_prescreen.real_acs_map
@@ -140,6 +140,30 @@ NCURSES_SP_NAME(_nc_init_acs) (NCURSES_SP_DCL0)
     real_map['{'] = '*';       /* should be greek pi */
     real_map['|'] = '!';       /* should be not-equal */
     real_map['}'] = 'f';       /* should be pound-sterling symbol */
+    /* thick-line-drawing */
+    real_map['L'] = '+';       /* upper left corner */
+    real_map['M'] = '+';       /* lower left corner */
+    real_map['K'] = '+';       /* upper right corner */
+    real_map['J'] = '+';       /* lower right corner */
+    real_map['T'] = '+';       /* tee pointing left */
+    real_map['U'] = '+';       /* tee pointing right */
+    real_map['V'] = '+';       /* tee pointing up */
+    real_map['W'] = '+';       /* tee pointing down */
+    real_map['Q'] = '-';       /* horizontal line */
+    real_map['X'] = '|';       /* vertical line */
+    real_map['N'] = '+';       /* large plus or crossover */
+    /* double-line-drawing */
+    real_map['C'] = '+';       /* upper left corner */
+    real_map['D'] = '+';       /* lower left corner */
+    real_map['B'] = '+';       /* upper right corner */
+    real_map['A'] = '+';       /* lower right corner */
+    real_map['G'] = '+';       /* tee pointing left */
+    real_map['F'] = '+';       /* tee pointing right */
+    real_map['H'] = '+';       /* tee pointing up */
+    real_map['I'] = '+';       /* tee pointing down */
+    real_map['R'] = '-';       /* horizontal line */
+    real_map['Y'] = '|';       /* vertical line */
+    real_map['E'] = '+';       /* large plus or crossover */
 
 #ifdef USE_TERM_DRIVER
     CallDriver_2(SP_PARM, initacs, real_map, fake_map);
index 5e2c9fdfdba8da99d1a5ac72ab69c4648849948b..7c1ce02127774b2c222c4740618ab7435bc14047 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 2002,2006 Free Software Foundation, Inc.                   *
+ * Copyright (c) 2002-2008,2009 Free Software Foundation, Inc.              *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -32,7 +32,7 @@
 
 #include <curses.priv.h>
 
-MODULE_ID("$Id: lib_wacs.c,v 1.8 2008/11/16 00:19:59 juergen Exp $")
+MODULE_ID("$Id: lib_wacs.c,v 1.9 2009/10/03 20:18:21 tom Exp $")
 
 NCURSES_EXPORT_VAR(cchar_t) * _nc_wacs = 0;
 
@@ -79,6 +79,30 @@ _nc_init_wacs(void)
        { '{',  { '*',  0x03c0 }},      /* greek pi */
        { '|',  { '!',  0x2260 }},      /* not-equal */
        { '}',  { 'f',  0x00a3 }},      /* pound-sterling symbol */
+       /* thick-line-drawing */
+       { 'L',  { '+',  0x250f }},      /* upper left corner */
+       { 'M',  { '+',  0x2517 }},      /* lower left corner */
+       { 'K',  { '+',  0x2513 }},      /* upper right corner */
+       { 'J',  { '+',  0x251b }},      /* lower right corner */
+       { 'T',  { '+',  0x2523 }},      /* tee pointing left */
+       { 'U',  { '+',  0x252b }},      /* tee pointing right */
+       { 'V',  { '+',  0x253b }},      /* tee pointing up */
+       { 'W',  { '+',  0x2533 }},      /* tee pointing down */
+       { 'Q',  { '-',  0x2501 }},      /* horizontal line */
+       { 'X',  { '|',  0x2503 }},      /* vertical line */
+       { 'N',  { '+',  0x254b }},      /* large plus or crossover */
+       /* double-line-drawing */
+       { 'C',  { '+',  0x2554 }},      /* upper left corner */
+       { 'D',  { '+',  0x255a }},      /* lower left corner */
+       { 'B',  { '+',  0x2557 }},      /* upper right corner */
+       { 'A',  { '+',  0x255d }},      /* lower right corner */
+       { 'G',  { '+',  0x2563 }},      /* tee pointing left */
+       { 'F',  { '+',  0x2560 }},      /* tee pointing right */
+       { 'H',  { '+',  0x2569 }},      /* tee pointing up */
+       { 'I',  { '+',  0x2566 }},      /* tee pointing down */
+       { 'R',  { '-',  0x2550 }},      /* horizontal line */
+       { 'Y',  { '|',  0x2551 }},      /* vertical line */
+       { 'E',  { '+',  0x256c }},      /* large plus or crossover */
     };
     /* *INDENT-ON* */
 
index f02302382fc654be2b27780144e6c46e053115a7..775d15c1efbf0138008c6bd57d8c9f23b047d006 100644 (file)
@@ -1,5 +1,5 @@
 /****************************************************************************
- * Copyright (c) 1999-2007,2008 Free Software Foundation, Inc.              *
+ * Copyright (c) 2007,2008 Free Software Foundation, Inc.                   *
  *                                                                          *
  * Permission is hereby granted, free of charge, to any person obtaining a  *
  * copy of this software and associated documentation files (the            *
@@ -29,7 +29,7 @@
 /*
  * Author: Thomas E. Dickey - 2007
  *
- * $Id: dots_mvcur.c,v 1.2 2008/02/09 18:08:57 tom Exp $
+ * $Id: dots_mvcur.c,v 1.3 2008/02/09 18:08:57 tom Exp $
  *
  * A simple demo of the terminfo interface, and mvcur.
  */
index 42670c31438eb15bc5a5ce2889ed3f08c70b6387..f351122cfa9e40081b9ac2a55471c69db9e270d8 100644 (file)
@@ -40,7 +40,7 @@ AUTHOR
    Author: Eric S. Raymond <esr@snark.thyrsus.com> 1993
            Thomas E. Dickey (beginning revision 1.27 in 1996).
 
-$Id: ncurses.c,v 1.345 2009/08/29 20:24:57 tom Exp $
+$Id: ncurses.c,v 1.347 2009/10/03 22:01:56 tom Exp $
 
 ***************************************************************************/
 
@@ -3382,6 +3382,128 @@ show_wacs_chars(int repeat, attr_t attr, short pair)
 #endif
 }
 
+#ifdef WACS_D_PLUS
+static void
+show_wacs_chars_double(int repeat, attr_t attr, short pair)
+/* display the wide-ACS character set */
+{
+    cchar_t temp;
+
+    int n;
+
+/*#define BOTH2(name) #name, &(name) */
+#define BOTH2(name) #name, MERGE_ATTR(name)
+
+    erase();
+    attron(A_BOLD);
+    mvaddstr(0, 20, "Display of the Wide-ACS Character Set");
+    attroff(A_BOLD);
+    refresh();
+
+    n = show_1_wacs(0, repeat, BOTH2(WACS_D_ULCORNER));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_URCORNER));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_LLCORNER));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_LRCORNER));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_LTEE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_RTEE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_TTEE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_BTEE));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_HLINE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_D_VLINE));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_LARROW));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_RARROW));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_UARROW));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_DARROW));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_BLOCK));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_BOARD));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_LANTERN));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_BULLET));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_CKBOARD));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_DEGREE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_DIAMOND));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_PLUS));
+
+#ifdef CURSES_WACS_ARRAY
+    n = show_1_wacs(n, repeat, BOTH2(WACS_GEQUAL));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_NEQUAL));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_LEQUAL));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_STERLING));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_PI));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S1));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S3));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S7));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S9));
+#endif
+}
+#endif
+
+#ifdef WACS_T_PLUS
+static void
+show_wacs_chars_thick(int repeat, attr_t attr, short pair)
+/* display the wide-ACS character set */
+{
+    cchar_t temp;
+
+    int n;
+
+/*#define BOTH2(name) #name, &(name) */
+#define BOTH2(name) #name, MERGE_ATTR(name)
+
+    erase();
+    attron(A_BOLD);
+    mvaddstr(0, 20, "Display of the Wide-ACS Character Set");
+    attroff(A_BOLD);
+    refresh();
+
+    n = show_1_wacs(0, repeat, BOTH2(WACS_T_ULCORNER));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_URCORNER));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_LLCORNER));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_LRCORNER));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_LTEE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_RTEE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_TTEE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_BTEE));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_HLINE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_T_VLINE));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_LARROW));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_RARROW));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_UARROW));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_DARROW));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_BLOCK));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_BOARD));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_LANTERN));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_BULLET));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_CKBOARD));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_DEGREE));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_DIAMOND));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_PLUS));
+
+#ifdef CURSES_WACS_ARRAY
+    n = show_1_wacs(n, repeat, BOTH2(WACS_GEQUAL));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_NEQUAL));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_LEQUAL));
+
+    n = show_1_wacs(n, repeat, BOTH2(WACS_STERLING));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_PI));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S1));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S3));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S7));
+    n = show_1_wacs(n, repeat, BOTH2(WACS_S9));
+#endif
+}
+#endif
+
 #undef MERGE_ATTR
 
 #define MERGE_ATTR(n,wch) merge_wide_attr(&temp[n], wch, attr, pair)
@@ -3514,6 +3636,16 @@ wide_acs_display(void)
        case 'a':
            ToggleAcs(last_show_wacs, show_wacs_chars);
            break;
+#ifdef WACS_D_PLUS
+       case 'd':
+           ToggleAcs(last_show_wacs, show_wacs_chars_double);
+           break;
+#endif
+#ifdef WACS_T_PLUS
+       case 't':
+           ToggleAcs(last_show_wacs, show_wacs_chars_thick);
+           break;
+#endif
        case 'x':
            ToggleAcs(last_show_wacs, show_wbox_chars);
            break;
@@ -3553,7 +3685,7 @@ wide_acs_display(void)
            show_upper_widechars(digit * 32 + 128, repeat, space, attr, pair);
 
        mvprintw(LINES - 3, 0,
-                "Select: a WACS, x box, u UTF-8, 0-9,+/- non-ASCII, </> repeat, ESC=quit");
+                "Select: a/d/t WACS, x box, u UTF-8, 0-9,+/- non-ASCII, </> repeat, ESC=quit");
        if (use_colors) {
            mvprintw(LINES - 2, 0,
                     "v/V, f/F, b/B cycle through video attributes (%s) and color %d/%d.",