From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.bugs Subject: bug#39799: 28.0.50; Most emoji sequences =?UTF-8?Q?don=E2=80=99t?= render correctly Date: Fri, 28 Feb 2020 09:14:14 +0200 Message-ID: <83lfongp4p.fsf@gnu.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="ciao.gmane.io:159.69.161.202"; logging-data="102134"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 39799@debbugs.gnu.org To: Mike FABIAN Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Feb 28 08:15:12 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j7Zrc-000QSy-4n for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 28 Feb 2020 08:15:12 +0100 Original-Received: from localhost ([::1]:42584 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7Zrb-0001gf-7F for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 28 Feb 2020 02:15:11 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:32866) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j7ZrT-0001gJ-9U for bug-gnu-emacs@gnu.org; Fri, 28 Feb 2020 02:15:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j7ZrS-0004ee-4I for bug-gnu-emacs@gnu.org; Fri, 28 Feb 2020 02:15:03 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:54598) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j7ZrS-0004ea-17 for bug-gnu-emacs@gnu.org; Fri, 28 Feb 2020 02:15:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j7ZrR-0004Ar-S6 for bug-gnu-emacs@gnu.org; Fri, 28 Feb 2020 02:15:01 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 28 Feb 2020 07:15:01 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 39799 X-GNU-PR-Package: emacs Original-Received: via spool by 39799-submit@debbugs.gnu.org id=B39799.158287407615999 (code B ref 39799); Fri, 28 Feb 2020 07:15:01 +0000 Original-Received: (at 39799) by debbugs.gnu.org; 28 Feb 2020 07:14:36 +0000 Original-Received: from localhost ([127.0.0.1]:60571 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7Zr2-00049z-9I for submit@debbugs.gnu.org; Fri, 28 Feb 2020 02:14:36 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:45898) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j7Zr0-00049n-Cw for 39799@debbugs.gnu.org; Fri, 28 Feb 2020 02:14:34 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:50510) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j7Zqv-0004WF-63; Fri, 28 Feb 2020 02:14:29 -0500 Original-Received: from [176.228.60.248] (port=2691 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1j7Zqu-0008O9-EK; Fri, 28 Feb 2020 02:14:28 -0500 In-reply-to: (message from Mike FABIAN on Wed, 26 Feb 2020 15:28:58 +0100) X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:176553 Archived-At: > From: Mike FABIAN > Date: Wed, 26 Feb 2020 15:28:58 +0100 > > As can be seen in the attached screenshot, some > > 👩‍🦰 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 font (“Joypixels”, version 5.5) elsewhere, e.g. in gedit. > > Same result in Emacs when using "Noto Color Emoji", both emoji sequences > are rendered as 2 characters each in Emacs Not 2, 3. Look more closely, and you will see that the U+200D ZWJ character is displayed as a thin (1-pixel) space between the 2 emoji. > When loading > > http://www.unicode.org/Public/emoji/12.0/emoji-zwj-sequences.txt > > into Emacs one can see that most sequences don’t render correctly > (actually *all* sequences, as far as I can see). That's just a matter of setting up composition-function-table to support these sequences. For example, try the above again after evaluating: (set-char-table-range composition-function-table '(#x1F9B0 . #x1F9B3) (list (vector "[\U0001F468-\U0001F469]\u200D[\U0001F9B0-\U0001F9B3]" 2 'compose-gstring-for-graphic))) Patches are welcome to convert the emoji-related files in Unicode's character database into appropriate composition-function-table setup, similar to the example above. Some script to be run at Emacs build time and produce, say, lisp/emoji.el to populate composition-function-table, would be nice (see the Awk scripts in admin/unidata as one source of inspiration). > Also, when loading > > http://www.unicode.org/Public/emoji/12.0/emoji-sequences.txt > > into Emacs, one can see that the Flag sequences and skin colour > sequences don’t render correctly either (not a font problem, both > “Noto Color Emoji” and “Joypixels” support these): If you mean they are not displayed in correct colors, then Emacs doesn't yet support color emoji, we lack some infrastructure for that. Again, work in that area is welcome, it should be relatively easy since we now have HarfBuzz support for text shaping. Thanks.