Subject: Re: bug#50865: 28.0.50; Emoji with emoji modifier in Linux console garbles emacs display

From: Aura Kelloniemi <[email-masked]>
Date: Tue, 28 Sep 2021 20:41:36 +0300

Hi,

On 2021-09-28 at 20:21 +0300, Eli Zaretskii <[email-masked]> wrote:
 > What is your terminal's encoding? what does the following show in the
 > echo-area?

utf-8-unix

And the Linux console is properly in Unicode mode. (Which means Unicode as it
was understood in 2002 or so.)

 > Does typing the below solve the problem?

 >   M-: (set-char-table-range char-width-table '(#x1f600 . #x1f64f) 1) RET

No, not alone, but when I tried

(set-char-table-range char-width-table '(#x1f300 . #x1f64f) 1)

the problem is gone. Using the same trick to force some other characters (e.g.
TIMER CLOCK) to width 1, I was able to get rid of the other problem that I
mentioned, but could not track.

Now the question is: should this be added to the linux terminal setup in
Emacs, and for what character range. If I am right, all Unicode code points
above 0x20 print just one character to the terminal, except if they don't
print anything. Probably there is no other documentation than the kernel
source – or at least the documentation is outdated. Linux console is kind of
deprecated, but it is still sort of maintained as there is no alternative
being developed.

Is there a way to get a list of code points that Emacs thinks have a width of
something else than 1?

Thank you for helping me!

-- 
Aura