GNU bug report logs - #35814
27.0.50; Broken font display

Previous Next

Package: emacs;

Reported by: Juri Linkov <juri <at> linkov.net>

Date: Mon, 20 May 2019 21:37:02 UTC

Severity: normal

Found in version 27.0.50

Done: Juri Linkov <juri <at> linkov.net>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 35814 in the body.
You can then email your comments to 35814 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#35814; Package emacs. (Mon, 20 May 2019 21:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to Juri Linkov <juri <at> linkov.net>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Mon, 20 May 2019 21:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: bug-gnu-emacs <at> gnu.org
Subject: 27.0.50; Broken font display
Date: Tue, 21 May 2019 00:33:39 +0300
[Message part 1 (text/plain, inline)]
Some yesterday's commit in master broke the display of the text that uses
the font "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso10646-*"
in GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
System Description: Linux Mint 19

Screenshot:

[20190520.png (image/png, inline)]

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35814; Package emacs. (Tue, 21 May 2019 06:02:01 GMT) Full text and rfc822 format available.

Message #8 received at 35814 <at> debbugs.gnu.org (full text, mbox):

From: Alex Gramiak <agrambot <at> gmail.com>
To: Juri Linkov <juri <at> linkov.net>
Cc: 35814 <at> debbugs.gnu.org
Subject: Re: bug#35814: 27.0.50; Broken font display
Date: Tue, 21 May 2019 00:01:39 -0600
Juri Linkov <juri <at> linkov.net> writes:

> Some yesterday's commit in master broke the display of the text that uses
> the font "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso10646-*"
> in GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
> Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
> System Description: Linux Mint 19
>
> Screenshot:

It's probably due to my a4fe9c70af7 commit, sorry.

I tested with all X font backends -- what's the value of
(frame-parameter nil 'font-backend) normally?

And is it only that font, or other fonts as well?




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35814; Package emacs. (Tue, 21 May 2019 08:05:02 GMT) Full text and rfc822 format available.

Message #11 received at 35814 <at> debbugs.gnu.org (full text, mbox):

From: Katsumi Yamaoka <yamaoka <at> jpl.org>
To: Alex Gramiak <agrambot <at> gmail.com>
Cc: 35814 <at> debbugs.gnu.org, Juri Linkov <juri <at> linkov.net>
Subject: Re: bug#35814: 27.0.50; Broken font display
Date: Tue, 21 May 2019 17:03:48 +0900
On Tue, 21 May 2019 00:01:39 -0600, Alex Gramiak wrote:
> It's probably due to my a4fe9c70af7 commit, sorry.

> I tested with all X font backends -- what's the value of
> (frame-parameter nil 'font-backend) normally?

> And is it only that font, or other fonts as well?

It happens to me too with the japanese-jisx0208 font:

"-misc-fixed-medium-r-normal-*-16-*-*-*-*-*-jisx0208.1983-0"

After starting emacs -Q the `C-h h' display is all ok, however
setting that font breaks the display for the cjk text.

(frame-parameter nil 'font-backend)
 => (xft x)

In GNU Emacs 27.0.50 (build 1, x86_64-pc-cygwin, GTK+ Version 3.22.28)
 of 2019-05-21 built on localhost

Regards,




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35814; Package emacs. (Tue, 21 May 2019 19:15:02 GMT) Full text and rfc822 format available.

Message #14 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Andy Moreton <andrewjmoreton <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Subject: Re: bug#35814: 27.0.50; Broken font display
Date: Tue, 21 May 2019 20:14:17 +0100
On Tue 21 May 2019, Alex Gramiak wrote:

> Juri Linkov <juri <at> linkov.net> writes:
>
>> Some yesterday's commit in master broke the display of the text that uses
>> the font "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso10646-*"
>> in GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
>> Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
>> System Description: Linux Mint 19
>>
>> Screenshot:
>
> It's probably due to my a4fe9c70af7 commit, sorry.
>
> I tested with all X font backends -- what's the value of
> (frame-parameter nil 'font-backend) normally?
>
> And is it only that font, or other fonts as well?

Alex, at the end of xfont_draw() in xfont.c, we now have:

      else
        {
          const unsigned code = s->char2b[from];
          const XChar2b char2b = { .byte1 = code >> 8,
                                   .byte2 = code & 0xFF };
          XDrawImageString16 (display, FRAME_X_DRAWABLE (s->f),
                              gc, x, y, &char2b, len);
        }

and:
      else
        {
          const unsigned code = s->char2b[from];
          const XChar2b char2b = { .byte1 = code >> 8,
                                   .byte2 = code & 0xFF };
          XDrawString16 (display, FRAME_X_DRAWABLE (s->f),
                         gc, x, y, &char2b, len);
        }

Both of these pass "len", but use a single XChar2b on the stack, so
this causes an overrun (and draws random stack contents).

    AndyM





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35814; Package emacs. (Tue, 21 May 2019 20:21:03 GMT) Full text and rfc822 format available.

Message #17 received at 35814 <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Alex Gramiak <agrambot <at> gmail.com>
Cc: 35814 <at> debbugs.gnu.org
Subject: Re: bug#35814: 27.0.50; Broken font display
Date: Tue, 21 May 2019 22:41:29 +0300
>> Some yesterday's commit in master broke the display of the text that uses
>> the font "-misc-fixed-medium-r-normal--10-*-*-*-c-60-iso10646-*"
>> in GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.22.30)
>> Windowing system distributor 'The X.Org Foundation', version 11.0.11906000
>> System Description: Linux Mint 19
>>
>> Screenshot:
>
> It's probably due to my a4fe9c70af7 commit, sorry.

Yes, after reverting a4fe9c70af7 locally,
everything is fine as before.

> I tested with all X font backends -- what's the value of
> (frame-parameter nil 'font-backend) normally?

(frame-parameter nil 'font-backend)
=> (xft x)

> And is it only that font, or other fonts as well?

I don't know about other fonts.  At least, I see that
the default font was fine.  And as you can see on the
previous screenshot of the etc/TODO file, parts of the
buffer that display text with the italic face, are
not affected by this problem.




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#35814; Package emacs. (Tue, 21 May 2019 21:20:02 GMT) Full text and rfc822 format available.

Message #20 received at 35814 <at> debbugs.gnu.org (full text, mbox):

From: Alex Gramiak <agrambot <at> gmail.com>
To: Andy Moreton <andrewjmoreton <at> gmail.com>
Cc: Katsumi Yamaoka <yamaoka <at> jpl.org>, 35814 <at> debbugs.gnu.org,
 Juri Linkov <juri <at> linkov.net>
Subject: Re: bug#35814: 27.0.50; Broken font display
Date: Tue, 21 May 2019 15:19:29 -0600
Andy Moreton <andrewjmoreton <at> gmail.com> writes:

> Alex, at the end of xfont_draw() in xfont.c, we now have:
>
>       else
>         {
>           const unsigned code = s->char2b[from];
>           const XChar2b char2b = { .byte1 = code >> 8,
>                                    .byte2 = code & 0xFF };
>           XDrawImageString16 (display, FRAME_X_DRAWABLE (s->f),
>                               gc, x, y, &char2b, len);
>         }
>
> and:
>       else
>         {
>           const unsigned code = s->char2b[from];
>           const XChar2b char2b = { .byte1 = code >> 8,
>                                    .byte2 = code & 0xFF };
>           XDrawString16 (display, FRAME_X_DRAWABLE (s->f),
>                          gc, x, y, &char2b, len);
>         }
>
> Both of these pass "len", but use a single XChar2b on the stack, so
> this causes an overrun (and draws random stack contents).

Wow, sorry, that was a bad mistake. I've applied commit 5a024b72c to
master; can those who experience the bug affirm that it's been fixed?

It appears that I only tested with fonts that make s->padding_p true,
and I can't seem to find a font on my system that doesn't.




Reply sent to Juri Linkov <juri <at> linkov.net>:
You have taken responsibility. (Tue, 21 May 2019 21:44:02 GMT) Full text and rfc822 format available.

Notification sent to Juri Linkov <juri <at> linkov.net>:
bug acknowledged by developer. (Tue, 21 May 2019 21:44:02 GMT) Full text and rfc822 format available.

Message #25 received at 35814-done <at> debbugs.gnu.org (full text, mbox):

From: Juri Linkov <juri <at> linkov.net>
To: Alex Gramiak <agrambot <at> gmail.com>
Cc: 35814-done <at> debbugs.gnu.org, Katsumi Yamaoka <yamaoka <at> jpl.org>,
 Andy Moreton <andrewjmoreton <at> gmail.com>
Subject: Re: bug#35814: 27.0.50; Broken font display
Date: Wed, 22 May 2019 00:42:28 +0300
> Wow, sorry, that was a bad mistake. I've applied commit 5a024b72c to
> master; can those who experience the bug affirm that it's been fixed?
>
> It appears that I only tested with fonts that make s->padding_p true,
> and I can't seem to find a font on my system that doesn't.

Thanks!  Now everything is back to normal.  Closing.




bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 19 Jun 2019 11:24:05 GMT) Full text and rfc822 format available.

This bug report was last modified 4 years and 283 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.