all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* bug#39797: Emacs crashes when using Noto Color Emoji font
@ 2020-02-26  9:13 Mike FABIAN
  2020-02-26  9:46 ` Mike FABIAN
  0 siblings, 1 reply; 6+ messages in thread
From: Mike FABIAN @ 2020-02-26  9:13 UTC (permalink / raw)
  To: 39797

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

File to reproduce the problem:

$ cat reproduce-crash.el 
(set-fontset-font t '(#x10000 . #x1FFFF) '("Noto Color Emoji" . "unicode-bmp") nil 'append) (i
nsert "🥰")

(Also attached to this mail).

Then the crash can be reproduced like this:

$ emacs -q --file reproduce-crash.el --eval '(eval-buffer)'
X protocol error: BadLength (poly request too large or internal Xlib length error) on protocol
 request 138
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://gitlab.gnome.org/GNOME/gtk/issues/221
For details, see etc/PROBLEMS.
Fatal error 6: Aborted

It happens with Emacs 26.3 and also whith Emacs compiled from current
git master.

A similar problem happens when trying to show that font with "xfd"

$ xfd -fa "Noto Color Emoji"
Warning: Missing charsets in String to FontSet conversion
X Error of failed request:  BadLength (poly request too large or internal Xlib length error)
  Major opcode of failed request:  138 (RENDER)
  Minor opcode of failed request:  20 (RenderAddGlyphs)
  Serial number of failed request:  208
  Current serial number in output stream:  271

This color emoji font contains bitmaps of emoji.


-- 
Mike FABIAN <mfabian@redhat.com>


[-- Attachment #2: reproduce-crash.el --]
[-- Type: text/plain, Size: 109 bytes --]

(set-fontset-font t '(#x10000 . #x1FFFF) '("Noto Color Emoji" . "unicode-bmp") nil 'append) (insert "🥰")

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#39797: Emacs crashes when using Noto Color Emoji font
  2020-02-26  9:13 bug#39797: Emacs crashes when using Noto Color Emoji font Mike FABIAN
@ 2020-02-26  9:46 ` Mike FABIAN
  2020-02-26 10:13   ` Mike FABIAN
  0 siblings, 1 reply; 6+ messages in thread
From: Mike FABIAN @ 2020-02-26  9:46 UTC (permalink / raw)
  To: 39797

> It happens with Emacs 26.3 and also whith Emacs compiled from current
> git master.

I tried to configure --with-cairo, so I am not sure why Xft is still
used somehow. My configure output looks like this:

Configured for 'x86_64-pc-linux-gnu'.
  
  Where should the build process find the source code?    .
  What compiler should emacs be built with?               gcc -g3 -O2
  Should Emacs use the GNU version of malloc?             no
    (The GNU allocators don't work with this system configuration.)
  Should Emacs use a relocating allocator for buffers?    no
  Should Emacs use mmap(2) for buffer allocation?         no
  What window system should Emacs use?                    x11
  What toolkit should Emacs use?                          GTK3
  Where do we find X Windows header files?                Standard dirs
  Where do we find X Windows libraries?                   Standard dirs
  Does Emacs use -lXaw3d?                                 no
  Does Emacs use -lXpm?                                   yes
  Does Emacs use -ljpeg?                                  yes
  Does Emacs use -ltiff?                                  yes
  Does Emacs use a gif library?                           yes -lgif
  Does Emacs use a png library?                           yes -lpng16 -lz
  Does Emacs use -lrsvg-2?                                yes
  Does Emacs use cairo?                                   yes
  Does Emacs use -llcms2?                                 yes
  Does Emacs use imagemagick?                             no
  Does Emacs support sound?                               yes
  Does Emacs use -lgpm?                                   yes
  Does Emacs use -ldbus?                                  yes
  Does Emacs use -lgconf?                                 no
  Does Emacs use GSettings?                               yes
  Does Emacs use a file notification library?             yes -lglibc (inotify)
  Does Emacs use access control lists?                    yes -lacl
  Does Emacs use -lselinux?                               yes
  Does Emacs use -lgnutls?                                yes
  Does Emacs use -lxml2?                                  yes
  Does Emacs use -lfreetype?                              yes
  Does Emacs use HarfBuzz?                                yes
  Does Emacs use -lm17n-flt?                              yes
  Does Emacs use -lotf?                                   yes
  Does Emacs use -lxft?                                   no
  Does Emacs use -lsystemd?                               yes
  Does Emacs use -ljansson?                               no
  Does Emacs use -lgmp?                                   yes
  Does Emacs directly use zlib?                           yes
  Does Emacs have dynamic modules support?                yes
  Does Emacs use toolkit scroll bars?                     yes
  Does Emacs support Xwidgets (requires gtk3)?            no
  Does Emacs have threading support in lisp?              yes
  Does Emacs support the portable dumper?                 yes
  Does Emacs support legacy unexec dumping?               no
  Which dumping strategy does Emacs use?                  pdumper

-- 
Mike FABIAN <mfabian@redhat.com>






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#39797: Emacs crashes when using Noto Color Emoji font
  2020-02-26  9:46 ` Mike FABIAN
@ 2020-02-26 10:13   ` Mike FABIAN
  2020-02-26 13:35     ` Mike FABIAN
  0 siblings, 1 reply; 6+ messages in thread
From: Mike FABIAN @ 2020-02-26 10:13 UTC (permalink / raw)
  To: 39797

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37786

seems related and

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37786#49

says 

    Fixed by adding "Noto Color Emoji" to face-ignored-fonts
    instead. Closing.
    
    Committed as eae50e88ef

but although I have commit eae50e88ef it still crashes for me.

-- 
Mike FABIAN <mfabian@redhat.com>






^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#39797: Emacs crashes when using Noto Color Emoji font
  2020-02-26 10:13   ` Mike FABIAN
@ 2020-02-26 13:35     ` Mike FABIAN
  2020-02-26 15:20       ` Robert Pluim
  0 siblings, 1 reply; 6+ messages in thread
From: Mike FABIAN @ 2020-02-26 13:35 UTC (permalink / raw)
  To: 39797

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

Mike FABIAN <mfabian@redhat.com> さんはかきました:

> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37786
>
> seems related and
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37786#49
>
> says 
>
>     Fixed by adding "Noto Color Emoji" to face-ignored-fonts
>     instead. Closing.
>     
>     Committed as eae50e88ef
>
> but although I have commit eae50e88ef it still crashes for me.

I made a mistake, I compiled from git master but then used an older
installation for testing.

It *does* work with git master.

As can be seen in the attached screenshot, Emacs can display colour
emoji in the buffer. The screenshot uses the “Joypixels” font (Version
5.5), but it works with “Noto Color Emoji” as well. I just tested wrong.

Some sequences like

👩‍🦰 U+1F469 U+200D U+1F9B0 woman: red hair
🧑‍🦰 U+1F9D1 U+200D U+1F9B0 person: red hair

don’t render correctly in the screenshot, although they work
using the same (“Joypixels”) font in gedit. But that is a different
problem …

So I think this bug here can be closed.

-- 
Mike FABIAN <mfabian@redhat.com>


[-- Attachment #2: emacs-color-emoji.png --]
[-- Type: image/png, Size: 30451 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#39797: Emacs crashes when using Noto Color Emoji font
  2020-02-26 13:35     ` Mike FABIAN
@ 2020-02-26 15:20       ` Robert Pluim
  2020-02-26 17:14         ` Mike FABIAN
  0 siblings, 1 reply; 6+ messages in thread
From: Robert Pluim @ 2020-02-26 15:20 UTC (permalink / raw)
  To: Mike FABIAN; +Cc: 39797-done

>>>>> On Wed, 26 Feb 2020 14:35:20 +0100, Mike FABIAN <mfabian@redhat.com> said:

    Mike> Mike FABIAN <mfabian@redhat.com> さんはかきました:
    >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37786
    >> 
    >> seems related and
    >> 
    >> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=37786#49
    >> 
    >> says 
    >> 
    >> Fixed by adding "Noto Color Emoji" to face-ignored-fonts
    >> instead. Closing.
    >> 
    >> Committed as eae50e88ef
    >> 
    >> but although I have commit eae50e88ef it still crashes for me.

    Mike> I made a mistake, I compiled from git master but then used an older
    Mike> installation for testing.

    Mike> It *does* work with git master.

You had me worried there for a moment :-)

    Mike> As can be seen in the attached screenshot, Emacs can display colour
    Mike> emoji in the buffer. The screenshot uses the “Joypixels” font (Version
    Mike> 5.5), but it works with “Noto Color Emoji” as well. I just tested wrong.

    Mike> Some sequences like

    Mike> 👩‍🦰 U+1F469 U+200D U+1F9B0 woman: red hair
    Mike> 🧑‍🦰 U+1F9D1 U+200D U+1F9B0 person: red hair

    Mike> don’t render correctly in the screenshot, although they work
    Mike> using the same (“Joypixels”) font in gedit. But that is a different
    Mike> problem …

Is this with a cairo build or an XFT one? Gedit will almost certainly
be using cairo. (Iʼd test it myself, but downloading joypixels
requires signing up, and Iʼm feeling ornery today).

    Mike> So I think this bug here can be closed.

Done with this message.

Robert





^ permalink raw reply	[flat|nested] 6+ messages in thread

* bug#39797: Emacs crashes when using Noto Color Emoji font
  2020-02-26 15:20       ` Robert Pluim
@ 2020-02-26 17:14         ` Mike FABIAN
  0 siblings, 0 replies; 6+ messages in thread
From: Mike FABIAN @ 2020-02-26 17:14 UTC (permalink / raw)
  To: Robert Pluim; +Cc: 39797-done

Robert Pluim <rpluim@gmail.com> さんはかきました:

>     Mike> As can be seen in the attached screenshot, Emacs can display colour
>     Mike> emoji in the buffer. The screenshot uses the “Joypixels” font (Version
>     Mike> 5.5), but it works with “Noto Color Emoji” as well. I just tested wrong.
>
>     Mike> Some sequences like
>
>     Mike> 👩‍🦰 U+1F469 U+200D U+1F9B0 woman: red hair
>     Mike> 🧑‍🦰 U+1F9D1 U+200D U+1F9B0 person: red hair
>
>     Mike> don’t render correctly in the screenshot, although they work
>     Mike> using the same (“Joypixels”) font in gedit. But that is a different
>     Mike> problem …
>
> Is this with a cairo build or an XFT one? Gedit will almost certainly
> be using cairo.

With a cairo build, I think with an XFT build it could not display these
color emoji fonts at all.

> (Iʼd test it myself, but downloading joypixels
> requires signing up, and Iʼm feeling ornery today).

Joypixels is not needed, the problem can also be seen with Noto Color
Emoji.

I reported a new bug for the emoji sequence display problem here:

https://debbugs.gnu.org/cgi/bugreport.cgi?bug=39799

In gedit, both “Noto Color Emoji” *and* “Joypixels” can display most
emoji sequences correctly. The latest version of “Joypixels” seems to be
slightly more up-to-date and can display a few sequences correctly which
cannot yet be displayed correctly using the latest “Noto Color Emoji”
(build from current git master) but this affects only a handful of
sequences.

Most sequences display correctly in gedit and I think none of the emoji
sequences displays correctly in Emacs.

-- 
Mike FABIAN <mfabian@redhat.com>
睡眠不足はいい仕事の敵だ。






^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-02-26 17:14 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-26  9:13 bug#39797: Emacs crashes when using Noto Color Emoji font Mike FABIAN
2020-02-26  9:46 ` Mike FABIAN
2020-02-26 10:13   ` Mike FABIAN
2020-02-26 13:35     ` Mike FABIAN
2020-02-26 15:20       ` Robert Pluim
2020-02-26 17:14         ` Mike FABIAN

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.