diff -ur ncurses-6.1-20191019/doc/html/man/curs_add_wch.3x.html ncurses-6.1-20191019-dank/doc/html/man/curs_add_wch.3x.html --- ncurses-6.1-20191019/doc/html/man/curs_add_wch.3x.html 2019-03-16 15:34:43.000000000 -0400 +++ ncurses-6.1-20191019-dank/doc/html/man/curs_add_wch.3x.html 2019-10-24 06:59:33.425959857 -0400 @@ -155,6 +155,23 @@ WACS_D_URCORNER 0x2557 + B double upper right corner WACS_D_VLINE 0x2551 | Y double vertical line + for light lines: + + ACS Unicode ASCII acsc Glyph + Name Default Default char Name + ----------------------------------------------------------------------- + WACS_L_BTEE 0x2534 + v light tee pointing up + WACS_L_HLINE 0x2500 - q light horizontal line + WACS_L_LLCORNER 0x2514 + m light lower left corner + WACS_L_LRCORNER 0x2518 + j light lower right corner + WACS_L_LTEE 0x2524 + t light tee pointing right + WACS_L_PLUS 0x253c + n light large plus + WACS_L_RTEE 0x251c + u light tee pointing left + WACS_L_TTEE 0x252c + w light tee pointing down + WACS_L_ULCORNER 0x250c + l light upper left corner + WACS_L_URCORNER 0x2510 + k light upper right corner + WACS_L_VLINE 0x2502 | x light vertical line + and for thick lines: ACS Unicode ASCII acsc Glyph diff -ur ncurses-6.1-20191019/include/curses.wide ncurses-6.1-20191019-dank/include/curses.wide --- ncurses-6.1-20191019/include/curses.wide 2017-03-26 12:05:21.000000000 -0400 +++ ncurses-6.1-20191019-dank/include/curses.wide 2019-10-24 07:16:16.051908518 -0400 @@ -62,6 +62,31 @@ #define WACS_NEQUAL NCURSES_WACS('|') /* not equal */ #define WACS_STERLING NCURSES_WACS('}') /* UK pound sign */ + /* light lines */ +#define WACS_BLLB NCURSES_WACS('l') +#define WACS_LLBB NCURSES_WACS('m') +#define WACS_BBLL NCURSES_WACS('k') +#define WACS_LBBL NCURSES_WACS('j') +#define WACS_LBLL NCURSES_WACS('u') +#define WACS_LLLB NCURSES_WACS('t') +#define WACS_LLBL NCURSES_WACS('v') +#define WACS_BLLL NCURSES_WACS('w') +#define WACS_BLBL NCURSES_WACS('l') +#define WACS_LBLB NCURSES_WACS('x') +#define WACS_LLLL NCURSES_WACS('n') + +#define WACS_L_ULCORNER WACS_BLLB +#define WACS_L_LLCORNER WACS_LLBB +#define WACS_L_URCORNER WACS_BBLL +#define WACS_L_LRCORNER WACS_LBBL +#define WACS_L_RTEE WACS_LBLL +#define WACS_L_LTEE WACS_LLLB +#define WACS_L_BTEE WACS_LLBL +#define WACS_L_TTEE WACS_BLLL +#define WACS_L_HLINE WACS_BLBL +#define WACS_L_VLINE WACS_LBLB +#define WACS_L_PLUS WACS_LLLL + /* double lines */ #define WACS_BDDB NCURSES_WACS('C') #define WACS_DDBB NCURSES_WACS('D') diff -ur ncurses-6.1-20191019/man/curs_add_wch.3x ncurses-6.1-20191019-dank/man/curs_add_wch.3x --- ncurses-6.1-20191019/man/curs_add_wch.3x 2017-11-18 18:47:37.000000000 -0500 +++ ncurses-6.1-20191019-dank/man/curs_add_wch.3x 2019-10-24 06:59:03.510385424 -0400 @@ -177,6 +177,28 @@ WACS_D_VLINE 0x2551 | Y double vertical line .TE .PP +for light lines: +.TS +l l l l l +l l l l l +_ _ _ _ _ +lw(1.5i) lw5 lw5 lw5 lw20. +\fBACS\fR \fBUnicode\fP \fBASCII\fR \fBacsc\fP \fBGlyph\fR +\fBName\fR \fBDefault\fP \fBDefault\fR \fBchar\fP \fBName\fR +WACS_L_BTEE 0x2534 + v light tee pointing up +WACS_L_HLINE 0x2500 \- q light horizontal line +WACS_L_LLCORNER 0x2514 + m light lower left corner +WACS_L_LRCORNER 0x2518 + j light lower right corner +WACS_L_LTEE 0x2524 + t light tee pointing right +WACS_L_PLUS 0x253c + n light large plus +WACS_L_RTEE 0x251c + u light tee pointing left +WACS_L_TTEE 0x252c + w light tee pointing down +WACS_L_ULCORNER 0x250c + l light upper left corner +WACS_L_URCORNER 0x2510 + k light upper right corner +WACS_L_VLINE 0x2502 | x light vertical line +.TE +.SH RETURN VALUE +.PP and for thick lines: .TS l l l l l diff -ur ncurses-6.1-20191019/test/ncurses.c ncurses-6.1-20191019-dank/test/ncurses.c --- ncurses-6.1-20191019/test/ncurses.c 2019-09-22 15:12:40.000000000 -0400 +++ ncurses-6.1-20191019-dank/test/ncurses.c 2019-10-24 07:12:23.907134120 -0400 @@ -4067,17 +4067,40 @@ #define MERGE_ATTR(wch) merge_wide_attr(&temp, wch, attr, pair) +/*#define BOTH2(name) #name, &(name) */ +#define BOTH2(name) #name, MERGE_ATTR(name) + +#ifdef CURSES_WACS_ARRAY +static int +show_wacs_array(int repeat, attr_t attr, NCURSES_PAIRS_T pair) +{ + cchar_t temp; + + int n = 0; + 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)); + return n; +} +#else +#define show_wacs_array(repeat, attr, pair) +#endif + static void show_wacs_chars(int repeat, attr_t attr, NCURSES_PAIRS_T pair) -/* display the wide-ACS character set */ +/* display the wide-ACS character set (aka the "light" box drawing chars) */ { 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"); @@ -4112,18 +4135,7 @@ 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)); - (void) show_1_wacs(n, repeat, BOTH2(WACS_S9)); -#endif + (void)show_wacs_array(repeat, attr, pair); } #ifdef WACS_D_PLUS @@ -4135,9 +4147,6 @@ 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"); @@ -4172,18 +4181,7 @@ n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS)); n = show_1_wacs(n, repeat, BOTH2(WACS_D_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)); - (void) show_1_wacs(n, repeat, BOTH2(WACS_S9)); -#endif + (void)show_wacs_array(repeat, attr, pair); } #endif @@ -4196,9 +4194,6 @@ 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"); @@ -4233,18 +4228,7 @@ n = show_1_wacs(n, repeat, BOTH2(WACS_PLMINUS)); n = show_1_wacs(n, repeat, BOTH2(WACS_T_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)); - (void) show_1_wacs(n, repeat, BOTH2(WACS_S9)); -#endif + (void)show_wacs_array(repeat, attr, pair); } #endif