Subject: Re: bug#73752: 29.4; Ligatures are randomly rendered with extra spaces

From: Yixuan Chen <[email-masked]>
Date: Mon, 28 Oct 2024 13:28:14 -0400

On 10/28/24 13:19, Eli Zaretskii wrote:
>> Date: Mon, 28 Oct 2024 11:20:29 -0400
>> Cc: [email-masked], [email-masked], [email-masked]
>> From: Yixuan Chen <[email-masked]>
>>
>>> Actually, how about showing what "C-u C-x =" says in each of the 6
>>> positions you show?  And then show what "C-u C-x =" says in the same 6
>>> positions in the "good" display?
>>
>> See "bad.txt" for the output of the bad emacs display, and "good.txt"
>> for the output of good emacs display. I also attached the block cursor
>> screenshots for good emacs display.
> 
> Thanks.  It's basically the same, as far as Emacs thinks, but do you
> have any idea why EOB is different between these two cases (3535 vs
> 3527)?

Between the two versions (after bad.txt before good.txt), I made this 
change to the script: line 51 is modified from

     (run-at-time nil 1 #'random-faces)))
to
     ;; (run-at-time nil 1 #'random-faces)
     ))

so that I can manually set the face to face12. That's why EOB of 
"good.txt" is slightly larger.

> Also, Emacs thinks that the second | character is at the same buffer
> position and the same columns as the previous one -- any idea why?

I'm sorry, that's me being bad at mouse and copy-pasting. This is the 
correct output for the second | character in "bad.txt".

              position: 1275 of 3527 (36%), column: 32
             character: | (displayed as |) (codepoint 124, #o174, #x7c)
               charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x7C
                script: latin
                syntax: _ 	which means: symbol
              category: .:Base, a:ASCII, l:Latin, r:Roman
              to input: type "C-x 8 RET 7c" or "C-x 8 RET VERTICAL LINE"
           buffer code: #x7C
             file code: #x7C (encoded by coding system utf-8-unix)
               display: by this font (glyph code):
     ftcrhb:-SAJA-Cascadia 
Code-light-normal-normal-*-17-*-*-*-m-0-iso10646-1 (#x9F6)

Character code properties: customize what to show
   name: VERTICAL LINE
   old-name: VERTICAL BAR
   general-category: Sm (Symbol, Math)
   decomposition: (124) ('|')

There are text properties here:
   face                 (face12 font-lock-string-face)
   fontified            t

It seems like I simply pasted the output for the first bar character twice.