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/

Reply via email to