unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Mike FABIAN <mfabian@redhat.com>
To: Robert Pluim <rpluim@gmail.com>
Cc: 39799@debbugs.gnu.org
Subject: bug#39799: 28.0.50; Most emoji sequences don’t render correctly
Date: Fri, 28 Feb 2020 18:30:12 +0100	[thread overview]
Message-ID: <s9dtv3ad3h7.fsf@taka.site> (raw)
In-Reply-To: <m2imjq3cit.fsf@gmail.com> (Robert Pluim's message of "Fri, 28 Feb 2020 17:24:58 +0100")

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

> One thing this has thrown up that I donʼt understand is this:
>
> Most of the emojis in emoji-sequences.txt can be made to use Noto
> Color Emoji, but some canʼt. e.g.
>
> #x24c2 Ⓜ
>
> is stubbornly not being displayed using Noto Color Emoji, even though
> that font has a glyph for it, and Iʼve added:
>
>      (set-fontset-font "fontset-default" symbol-subgroup
>                       '("Noto Color Emoji" . "iso10646-1") nil
>                       'prepend)
>
> just after the similar setting for Symbola in
> lisp/international/fontset.el
>
> Itʼs not being displayed with the default font, and setting
> use-default-font-for-symbols to nil makes no difference. Itʼs using:
>
>     ftcrhb:-GOOG-Noto Sans CJK JP-normal-normal-normal-*-16-*-*-*-*-0-iso10646-1 (#x3F8)
>
> However, if I
> eval
>
>      (set-fontset-font nil #x24c2
>                       '("Noto Color Emoji" . "iso10646-1") nil
>                       'prepend)
>
> in the frame displaying the character, then it does use Noto Color
> Emoji. What am I missing?
>
> Robert

U+24C2 is an Emoji which has both a text and an emoji presentation. See:

http://unicode.org/reports/tr51/#Emoji_Variation_Selector_Notes
http://unicode.org/reports/tr51/#def_fully_qualified_emoji_zwj_sequence
http://unicode.org/reports/tr51/#def_non_fully_qualified_emoji_zwj_sequence

http://www.unicode.org/Public/emoji/12.0/emoji-data.txt

U+1F600 is an emoji, which has only emoji representation:

$ grep 1F600 emoji-data.txt 
1F600         ; Emoji                # E1.0   [1] (😀)       grinning face
1F600         ; Emoji_Presentation   # E1.0   [1] (😀)       grinning face
1F600         ; Extended_Pictographic# E1.0   [1] (😀)       grinning face

It displays without problems in colour in my Emacs.

Note that U+24C2 does not have the "Emoji_Presentation" tag:

$ grep 24C2 emoji-data.txt 
24C2          ; Emoji                # E0.6   [1] (Ⓜ️)       circled M
24C2          ; Extended_Pictographic# E0.6   [1] (Ⓜ️)       circled M

It has to variations, text representation and emoji representation:

$ grep 24C2 emoji-variation-sequences.txt 
24C2 FE0E  ; text style;  # (1.1) CIRCLED LATIN CAPITAL LETTER M
24C2 FE0F  ; emoji style; # (1.1) CIRCLED LATIN CAPITAL LETTER M

(U+1F600 is not in emoji-variation-sequences.txt as it has only emoji representation).

$ grep 1F600 emoji-test.txt 
1F600                                      ; fully-qualified     # 😀 E1.0 grinning face
$ grep 24C2 emoji-test.txt 
24C2 FE0F                                  ; fully-qualified     # Ⓜ️ E0.6 circled M
24C2                                       ; unqualified         # Ⓜ E0.6 circled M
$

As you can see above, U+1F600 is already fully-qualified on its own.

If I test in gedit, U+24C2 on  its  own is displayed in black and white
(happens to use "MS Gothic" font on my system).
U+24C2 U+FE0E is displayed in black and white in gedit as well.
U+24C2 U+FE0F is displayed in colour in gedit  using the "Noto Color
Emoji" font.

These selectors don’t work in Emacs for me. U+24C2, U+24C2 U+FE0E, and
U+24C2 U+FE0F *all* display in black and white for me in Emacs.

The selectors are displayed as a narrow box.

The presence of such selectors in a currently visible buffer make my
Emacs extremely slow and unresponsive, I can hardly finish typing this
e-mail.

If I switch to some other buffer so that no such selectors are currently
visible, my Emacs is responsive.

Now  that I switched back to this buffer to send this e-mail, it is
terribly slow again. 

Same problem when one of the Unicode emoji data files is displayed which
contains these selectors. Emacs  becomes  unusably slow.

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






  reply	other threads:[~2020-02-28 17:30 UTC|newest]

Thread overview: 104+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-26 14:28 bug#39799: 28.0.50; Most emoji sequences don’t render correctly Mike FABIAN
2020-02-28  7:14 ` Eli Zaretskii
2020-02-28  7:36   ` Mike FABIAN
2020-02-28  8:25     ` Eli Zaretskii
2020-02-28 12:21       ` Robert Pluim
2020-02-28 12:46         ` Mike FABIAN
2020-02-28 13:19           ` Robert Pluim
2020-02-28 13:50             ` Mike FABIAN
2020-02-28 13:56               ` Eli Zaretskii
2020-02-28 14:44                 ` Mike FABIAN
2020-02-28 13:08         ` Eli Zaretskii
2020-02-28 13:47           ` Mike FABIAN
2020-02-28 13:54             ` Eli Zaretskii
2020-02-28 14:14           ` Robert Pluim
2020-02-28 14:45             ` Eli Zaretskii
2020-02-28 15:32               ` Mike FABIAN
2020-02-28 15:57                 ` Robert Pluim
2020-02-28 15:39               ` Robert Pluim
2020-02-28 16:38                 ` Mike FABIAN
2020-02-28 14:46             ` Eli Zaretskii
2020-02-28 15:35               ` Robert Pluim
2020-02-28 15:44                 ` Eli Zaretskii
2020-02-28 16:24                   ` Robert Pluim
2020-02-28 17:30                     ` Mike FABIAN [this message]
2020-02-28 17:55                       ` Mike FABIAN
2020-02-28 18:01                       ` Robert Pluim
2020-02-28 19:29                         ` Mike FABIAN
2020-02-28 19:34                         ` Mike FABIAN
2020-02-28 21:32                         ` Mike FABIAN
2020-02-28 21:38                           ` Robert Pluim
2020-02-28 20:21                       ` Eli Zaretskii
2020-02-28 20:25                         ` Eli Zaretskii
2020-02-28 21:02                           ` Eli Zaretskii
2020-02-28 21:47                             ` Robert Pluim
2020-02-28 22:07                               ` Eli Zaretskii
2020-02-29  7:50                                 ` Mike FABIAN
2020-02-29  9:40                                   ` Eli Zaretskii
2020-02-29 10:45                                     ` Mike FABIAN
2020-02-28 21:10                         ` Mike FABIAN
2020-02-28 21:49                           ` Eli Zaretskii
2020-02-29  7:59                             ` Mike FABIAN
2020-02-29 10:04                               ` Eli Zaretskii
2020-02-29 11:14                                 ` Mike FABIAN
2020-02-29 11:52                                   ` Eli Zaretskii
2020-02-29 16:59                                     ` Mike FABIAN
2020-02-28 20:13                     ` Eli Zaretskii
2020-02-28 20:38                       ` Robert Pluim
2020-02-28 20:55                         ` Eli Zaretskii
2020-02-28 21:22                           ` Robert Pluim
2020-02-28 21:27                             ` Mike FABIAN
2020-02-28 21:52                             ` Eli Zaretskii
2020-02-29  8:01                               ` Mike FABIAN
2020-02-29  9:49                                 ` Eli Zaretskii
2020-02-29 10:26                                   ` Mike FABIAN
2020-02-29 11:19                                     ` Eli Zaretskii
2020-02-29 11:36                                       ` Mike FABIAN
2020-02-29 11:58                                         ` Eli Zaretskii
2020-02-29 17:03                                           ` Mike FABIAN
2020-02-29 17:19                                             ` Eli Zaretskii
2020-02-29 11:41                                       ` Mike FABIAN
2020-02-29 12:02                                         ` Eli Zaretskii
2020-02-29 17:14                                           ` Mike FABIAN
2020-02-29 17:27                                             ` Eli Zaretskii
2020-03-02  9:10                                               ` Robert Pluim
2020-03-02 11:02                                                 ` Eli Zaretskii
2020-02-28 21:14                         ` Mike FABIAN
2020-02-28 21:50                           ` Eli Zaretskii
2020-02-28 16:19             ` Eli Zaretskii
2020-02-28 16:39               ` Robert Pluim
2020-02-28 20:16                 ` Eli Zaretskii
2020-02-28 20:56                   ` Robert Pluim
2021-09-20 20:38                     ` Robert Pluim
2021-09-21  9:16                       ` Eli Zaretskii
2021-09-21 10:34                         ` Robert Pluim
2021-09-21 10:54                           ` Eli Zaretskii
2021-09-21 11:31                             ` Eli Zaretskii
2021-09-21 17:43                               ` Robert Pluim
2021-09-21 18:28                                 ` Eli Zaretskii
2021-09-22  9:02                                   ` Robert Pluim
2021-09-24 19:28                                     ` Mike FABIAN
2021-09-25  5:55                                       ` Eli Zaretskii
2021-09-25  7:35                                         ` Mike FABIAN
2021-09-25  9:19                                           ` Eli Zaretskii
2021-11-06 18:59                                             ` Lars Ingebrigtsen
2021-09-21 11:48                       ` Mike FABIAN
2021-09-21 11:58                         ` Eli Zaretskii
2021-09-21 12:27                           ` Mike FABIAN
2021-09-21 12:37                             ` Eli Zaretskii
2021-09-21 12:50                           ` Robert Pluim
2021-09-21 13:06                             ` Eli Zaretskii
2021-09-21 13:25                               ` Mike FABIAN
2021-09-21 13:53                                 ` Robert Pluim
2021-09-21 14:19                                   ` Eli Zaretskii
2021-09-21 14:43                                     ` Robert Pluim
2021-09-21 15:58                                       ` Eli Zaretskii
2021-09-21 16:10                                         ` Robert Pluim
2021-09-21 16:23                                           ` Eli Zaretskii
2021-09-21 16:50                                             ` Eli Zaretskii
2021-09-21 18:20                                               ` Eli Zaretskii
2021-09-22  8:59                                                 ` Robert Pluim
2021-09-22 13:47                                                   ` Eli Zaretskii
2021-09-24 11:41                                                 ` Robert Pluim
2021-09-24 12:04                                                   ` Eli Zaretskii
2021-09-24 12:10                                                     ` Robert Pluim

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=s9dtv3ad3h7.fsf@taka.site \
    --to=mfabian@redhat.com \
    --cc=39799@debbugs.gnu.org \
    --cc=rpluim@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).