unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Yixuan Chen <xuan@xlk.me>
To: Eli Zaretskii <eliz@gnu.org>
Cc: luangruo@yahoo.com, 73752@debbugs.gnu.org, visuweshm@gmail.com
Subject: bug#73752: 29.4; Ligatures are randomly rendered with extra spaces
Date: Mon, 28 Oct 2024 11:20:29 -0400	[thread overview]
Message-ID: <0b859951-92ec-4125-be4e-5f0d2088e872@xlk.me> (raw)
In-Reply-To: <86h68w6zet.fsf@gnu.org>

[-- Attachment #1: Type: text/plain, Size: 2322 bytes --]

On 10/28/24 11:05, Eli Zaretskii wrote:
>> Date: Mon, 28 Oct 2024 10:44:23 -0400
>> Cc: visuweshm@gmail.com, luangruo@yahoo.com, 73752@debbugs.gnu.org
>> From: Yixuan Chen <xuan@xlk.me>
>>
>>> Is
>>> that extra space a real SPC glyph or is it just that the ligature is
>>> considered "wider"?  What happens if you put the cursor on the ▷
>>> ligature in the "bad" display -- does the block cursor then take up
>>> all the space up to the next quote?
>>
>> It's not a real SPC glyph. It's a single character ▷ (or ligature/glyph
>> I should call it? the underlying text is "|||>"). I attached five
>> screenshots, where the block cursor is at ", |, |, |, >, " respectively.
>> Noticeably, the block cursor for the first | character (1_bar.png) is
>> extra wide, and the block cursors for the following characters looks
>> offset from where they are.
> 
> According to the screenshots, it actually looks like it's a real SPC
> glyph or something.  What does "C-u C-x =" show when the block cursor
> is shown as below?

It shows
>              position: 1277 of 3527 (36%), column: 34
>             character: > (displayed as >) (codepoint 62, #o76, #x3e)
>               charset: ascii (ASCII (ISO646 IRV))
> code point in charset: 0x3E
>                script: latin
>                syntax: _ 	which means: symbol
>              category: .:Base, a:ASCII, l:Latin, r:Roman
>              to input: type "C-x 8 RET 3e" or "C-x 8 RET GREATER-THAN SIGN"
>           buffer code: #x3E
>             file code: #x3E (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 (#x810)
> 
> Character code properties: customize what to show
>   name: GREATER-THAN SIGN
>   general-category: Sm (Symbol, Math)
>   decomposition: (62) ('>')
> 
> There are text properties here:
>   face                 (face12 font-lock-string-face)
>   fontified            t

> 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.

[-- Attachment #2: good.txt --]
[-- Type: text/plain, Size: 5447 bytes --]

0:

             position: 1273 of 3535 (36%), column: 30
            character: " (displayed as ") (codepoint 34, #o42, #x22)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x22
               script: latin
               syntax: " 	which means: string
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 22" or "C-x 8 RET QUOTATION MARK"
          buffer code: #x22
            file code: #x22 (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 (#x779)

Character code properties: customize what to show
  name: QUOTATION MARK
  general-category: Po (Punctuation, Other)
  decomposition: (34) ('"')

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

1:

             position: 1274 of 3535 (36%), column: 31
            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

2:

             position: 1275 of 3535 (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

3:

             position: 1276 of 3535 (36%), column: 33
            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

4:

             position: 1277 of 3535 (36%), column: 34
            character: > (displayed as >) (codepoint 62, #o76, #x3e)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x3E
               script: latin
               syntax: _ 	which means: symbol
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 3e" or "C-x 8 RET GREATER-THAN SIGN"
          buffer code: #x3E
            file code: #x3E (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 (#x810)

Character code properties: customize what to show
  name: GREATER-THAN SIGN
  general-category: Sm (Symbol, Math)
  decomposition: (62) ('>')

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

5:

             position: 1278 of 3535 (36%), column: 35
            character: " (displayed as ") (codepoint 34, #o42, #x22)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x22
               script: latin
               syntax: " 	which means: string
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 22" or "C-x 8 RET QUOTATION MARK"
          buffer code: #x22
            file code: #x22 (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 (#x779)

Character code properties: customize what to show
  name: QUOTATION MARK
  general-category: Po (Punctuation, Other)
  decomposition: (34) ('"')

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

[-- Attachment #3: bad.txt --]
[-- Type: text/plain, Size: 5446 bytes --]

0:

             position: 1273 of 3527 (36%), column: 30
            character: " (displayed as ") (codepoint 34, #o42, #x22)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x22
               script: latin
               syntax: " 	which means: string
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 22" or "C-x 8 RET QUOTATION MARK"
          buffer code: #x22
            file code: #x22 (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 (#x779)

Character code properties: customize what to show
  name: QUOTATION MARK
  general-category: Po (Punctuation, Other)
  decomposition: (34) ('"')

1:

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

             position: 1274 of 3527 (36%), column: 31
            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) ('|')

2:

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

             position: 1274 of 3527 (36%), column: 31
            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) ('|')

3:

There are text properties here:
  face                 (face12 font-lock-string-face)
  fontified            t
             position: 1276 of 3527 (36%), column: 33
            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

4:

             position: 1277 of 3527 (36%), column: 34
            character: > (displayed as >) (codepoint 62, #o76, #x3e)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x3E
               script: latin
               syntax: _ 	which means: symbol
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 3e" or "C-x 8 RET GREATER-THAN SIGN"
          buffer code: #x3E
            file code: #x3E (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 (#x810)

Character code properties: customize what to show
  name: GREATER-THAN SIGN
  general-category: Sm (Symbol, Math)
  decomposition: (62) ('>')

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

5:

             position: 1278 of 3527 (36%), column: 35
            character: " (displayed as ") (codepoint 34, #o42, #x22)
              charset: ascii (ASCII (ISO646 IRV))
code point in charset: 0x22
               script: latin
               syntax: " 	which means: string
             category: .:Base, a:ASCII, l:Latin, r:Roman
             to input: type "C-x 8 RET 22" or "C-x 8 RET QUOTATION MARK"
          buffer code: #x22
            file code: #x22 (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 (#x779)

Character code properties: customize what to show
  name: QUOTATION MARK
  general-category: Po (Punctuation, Other)
  decomposition: (34) ('"')

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

[-- Attachment #4: 0.png --]
[-- Type: image/png, Size: 1630 bytes --]

[-- Attachment #5: 1.png --]
[-- Type: image/png, Size: 1625 bytes --]

[-- Attachment #6: 2.png --]
[-- Type: image/png, Size: 1314 bytes --]

[-- Attachment #7: 3.png --]
[-- Type: image/png, Size: 1934 bytes --]

[-- Attachment #8: 4.png --]
[-- Type: image/png, Size: 1788 bytes --]

[-- Attachment #9: 5.png --]
[-- Type: image/png, Size: 1458 bytes --]

  reply	other threads:[~2024-10-28 15:20 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-10-11 16:18 bug#73752: 29.4; Ligatures are randomly rendered with extra spaces xuan
2024-10-12  8:02 ` Eli Zaretskii
2024-10-12 16:09   ` Yixuan Chen
2024-10-27 10:21     ` Eli Zaretskii
2024-10-27 16:19       ` Visuwesh
2024-10-27 17:19         ` Eli Zaretskii
2024-10-27 17:27           ` Eli Zaretskii
2024-10-27 17:39             ` Yixuan Chen
2024-10-27 17:43               ` Eli Zaretskii
2024-10-27 17:46                 ` Yixuan Chen
2024-10-27 19:14                   ` Eli Zaretskii
2024-10-27 19:36                     ` Yixuan Chen
2024-10-27 19:44                       ` Eli Zaretskii
2024-10-27 19:47                         ` Yixuan Chen
2024-10-27 20:11                           ` Eli Zaretskii
2024-10-27 19:41                     ` Yixuan Chen
2024-10-27 20:07                       ` Eli Zaretskii
2024-10-27 20:32                         ` Yixuan Chen
2024-10-28 14:25                           ` Eli Zaretskii
2024-10-28 14:44                             ` Yixuan Chen
2024-10-28 14:47                               ` Yixuan Chen
2024-10-28 15:05                               ` Eli Zaretskii
2024-10-28 15:20                                 ` Yixuan Chen [this message]
2024-10-28 17:19                                   ` Eli Zaretskii
2024-10-28 17:26                                     ` Eli Zaretskii
2024-10-28 17:28                                     ` Yixuan Chen
2024-10-28 18:41                                       ` Eli Zaretskii
2024-10-28  4:26             ` Visuwesh
2024-10-28 14:59               ` Eli Zaretskii
2024-10-28 15:24                 ` Yixuan Chen
2024-10-28 16:18                 ` Visuwesh
2024-10-28 17:13                   ` Eli Zaretskii
2024-10-29 10:59                     ` Visuwesh
2024-10-29 13:04                       ` Eli Zaretskii
2024-10-29 13:54                         ` Visuwesh
2024-10-29 14:00                           ` Visuwesh
2024-10-29 15:38                           ` Eli Zaretskii
2024-10-29 16:46                             ` Visuwesh
2024-10-29 17:45                               ` Eli Zaretskii
2024-10-30  5:43                                 ` Visuwesh
2024-10-29 16:51                             ` Eli Zaretskii
2024-10-27 17:29           ` Yixuan Chen
2024-10-29 23:14 ` Tim Ruffing
2024-10-30 15:12   ` Eli Zaretskii
2024-10-30 15:45     ` Eli Zaretskii
     [not found]     ` <mvmikt9zkcq.fsf@suse.de>
2024-10-30 15:47       ` Eli Zaretskii
2024-10-30 17:34         ` Tim Ruffing
2024-10-30 17:46           ` Eli Zaretskii
2024-10-30 18:00             ` Tim Ruffing
2024-10-30 18:57               ` Eli Zaretskii

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=0b859951-92ec-4125-be4e-5f0d2088e872@xlk.me \
    --to=xuan@xlk.me \
    --cc=73752@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=luangruo@yahoo.com \
    --cc=visuweshm@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).