On Tue, 12 Feb 2002, Glenn Maynard wrote:
> Current ncurses doesn't deal with multibyte characters, so the cursor
> position becomes desynchronized.
There are enough multibyte calls implemented in ncursesw to make this
work. (addstr is not one of them - but I don't see that the OP was using
ncursesw anyway).
> Mutt has a special case for utf-8; it sends UTF-8 line drawing characters
> manually:
>
> case M_TREE_LLCORNER:
> if (option (OPTASCIICHARS))
> addch ('`');
> else if (Charset_is_utf8)
> addstr ("\342\224\224"); /* WACS_LLCORNER */
> else
> addch (ACS_LLCORNER);
> break;
>
> They may have added this since 1.2.5. It helps with Debian's multibyte-
> patched version of Slang, which breaks the ACS stuff in the ncurses
> emulation. When compiling with real ncurses, however, it'll just
> confuse it. (It'll draw the character correctly, and desync the
> cursor.) I don't know what happened to line drawing characters with
> ncurses in UTF-8 before this special case. Try adding "set ascii_chars"
I don't believe that anyone tried making it work with ncurses first.
--
T.E.Dickey <[EMAIL PROTECTED]>
http://invisible-island.net
ftp://invisible-island.net
--
Linux-UTF8: i18n of Linux on all levels
Archive: http://mail.nl.linux.org/linux-utf8/