bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

curses should not suppress unassigned codepoints


From: Benno Schulenberg
Subject: curses should not suppress unassigned codepoints
Date: Thu, 07 Jan 2016 15:18:59 +0100

Hi,

Unicode codepoints that don't yet have a character assigned
to them, are somehow suppressed by ncurses.

Example:

$ xxd -r >twelvepoints <<EOF
0000000: 613a f0a1 8080 2020 f0b2 8080 2020 f183
0000010: 8080 2020 20f1 9480 8020 2020 f1a5 8080
0000020: 2020 20f1 b680 800a 2020 2020 2020 200a
0000030: 623a f2a1 8080 2020 20f2 b280 8020 2020
0000040: f383 8080 2020 20f3 9480 8020 2020 f3a5
0000050: 8080 2020 20f3 b680 800a 2020 2020 200a
EOF

Then run 'vim twelvepoints' or 'emacs -nw twelvepoints'.
They will show twelve "block characters" each containing
the hexadecimal code of the codepoint, like this:

a:𡀀  𲀀  񃀀   񔀀   񥀀   񶀀

b:򡀀   򲀀   󃀀   󔀀   󥀀   󶀀

(Well, on a terminal emulator running on X, that is; on
a Linux console it will just show opaque blocks.)

But 'nano twelvepoints' will show just two block chars,
the first and the last:

a:𡀀                  

b:                    󶀀

Nevertheless, nano sends all twelve codepoints in the same
manner with mvwaddstr() to ncurses, but ncurses somehow
passes only the assigned codepoints on to the terminal.

Why?  And how to get ncurses to stop censoring?

It occurs both with ncurses-5.7 and with ncurses-6.0.


$ locale
LANG=en_US.utf8
LANGUAGE=eo:nl
LC_CTYPE="en_US.utf8"
LC_NUMERIC="en_US.utf8"
LC_TIME="en_US.utf8"
LC_COLLATE="en_US.utf8"
LC_MONETARY="en_US.utf8"
LC_MESSAGES="en_US.utf8"
LC_PAPER="en_US.utf8"
LC_NAME="en_US.utf8"
LC_ADDRESS="en_US.utf8"
LC_TELEPHONE="en_US.utf8"
LC_MEASUREMENT="en_US.utf8"
LC_IDENTIFICATION="en_US.utf8"
LC_ALL=en_US.utf8

Benno

-- 
http://www.fastmail.com - Send your email first class




reply via email to

[Prev in Thread] Current Thread [Next in Thread]