From 519216afa23a82e3ec4cd0bdb1ff9fb2fb243b1b Mon Sep 17 00:00:00 2001 From: Sam Hocevar Date: Fri, 24 Nov 2006 05:49:49 +0000 Subject: [PATCH] * Add support for doublewidth characters even if ncurses or SLang don't know about them. --- caca/driver_ncurses.c | 7 ++++++- caca/driver_slang.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/caca/driver_ncurses.c b/caca/driver_ncurses.c index ed7da26..fb1f7d7 100644 --- a/caca/driver_ncurses.c +++ b/caca/driver_ncurses.c @@ -449,7 +449,12 @@ static void ncurses_write_utf32(uint32_t ch) buf[bytes] = '\0'; addstr(buf); #else - addch(ch < 0x80 ? ch : '?'); + if(ch < 0x80) + addch(ch) + else if(cucul_utf32_is_fullwidth(ch)) + addstr("? "); + else + addch('?'); #endif } diff --git a/caca/driver_slang.c b/caca/driver_slang.c index d69f05a..33e2a87 100644 --- a/caca/driver_slang.c +++ b/caca/driver_slang.c @@ -461,7 +461,12 @@ static void slang_write_utf32(uint32_t ch) buf[bytes] = '\0'; SLsmg_write_string(buf); #else - SLsmg_write_char(ch < 0x80 ? ch : ' '); + if(ch < 0x80) + SLsmg_write_char(ch) + else if(cucul_utf32_is_fullwidth(ch)) + SLsmg_write_string("? "); + else + SLsmg_write_char('?'); #endif }