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

From: Gregory Heytings <[email-masked]>
Date: Fri, 02 Sep 2022 12:31:36 +0000

>>> I looked at the Linux kernel sources, and found from 
>>> drivers/tty/vt/vt.c a table of characters which will be automatically 
>>> padded with space when writing the glyph to the console. It recognizes 
>>> two-column characters from Unicode 5.0.
>>
>> And does Emacs work correctly as long as you restrict yourself only to 
>> those double-width characters? or are there still problems?
>
> I only lightly skimmed this thread, but there's been some work done in 
> this area (displaying non-displayble characters on the console) over the 
> last week, and I wonder whether that's fixed this issue, too?
>

It seems to have improved indeed, but I'm not sure it's really fixed.

Note that the display is garbled on terminals under X too, with the recipe 
given by the OP (I tried xterm and rxvt).

That being said, emacs running in fbterm seems to give better results than 
what the OP saw: after C-x 8 RET PERSON WITH FOLDED HANDS RET you see a 
single diamond character followed by a space, which seems correct given 
that the Emoji character has a width = 2.  (In a terminal under X you'd 
see a two character wide empty box at that point.)

After C-x 8 RET EMOJI MODIFIER FITZPATRICK TYPE-3 RET the space that 
followed the diamond on display is replaced by another diamond character. 
(In a terminal under X you'd see two two character wide empty boxes at 
that point, which is worse.)

Aura, can you try either the current emacs-28 or the current master, and 
tell us if you think the issue is fixed?