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: Sat, 29 Feb 2020 13:52:17 +0200 Message-ID: <83h7z9ehla.fsf@gnu.org> References: <83lfongp4p.fsf@gnu.org> <835zfrglu5.fsf@gnu.org> <83wo86g8pg.fsf@gnu.org> <83k146g46x.fsf@gnu.org> <83imjqg1iv.fsf@gnu.org> <837e06foof.fsf@gnu.org> <83y2sme617.fsf@gnu.org> <83k145emk9.fsf@gnu.org> 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="75173"; mail-complaints-to="usenet@ciao.gmane.io" Cc: rpluim@gmail.com, 39799@debbugs.gnu.org To: Mike FABIAN Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Sat Feb 29 12:53:11 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 1j80gA-000JRc-MP for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 29 Feb 2020 12:53:10 +0100 Original-Received: from localhost ([::1]:59782 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j80g9-0003hT-If for geb-bug-gnu-emacs@m.gmane-mx.org; Sat, 29 Feb 2020 06:53:09 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:55326) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1j80g2-0003hL-VF for bug-gnu-emacs@gnu.org; Sat, 29 Feb 2020 06:53:04 -0500 Original-Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1j80g1-0008Qx-Qg for bug-gnu-emacs@gnu.org; Sat, 29 Feb 2020 06:53:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:56572) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1j80g1-0008Qp-NT for bug-gnu-emacs@gnu.org; Sat, 29 Feb 2020 06:53:01 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1j80g1-0005RB-Mu for bug-gnu-emacs@gnu.org; Sat, 29 Feb 2020 06:53: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: Sat, 29 Feb 2020 11:53: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.158297715720840 (code B ref 39799); Sat, 29 Feb 2020 11:53:01 +0000 Original-Received: (at 39799) by debbugs.gnu.org; 29 Feb 2020 11:52:37 +0000 Original-Received: from localhost ([127.0.0.1]:34312 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j80fd-0005Q3-0Z for submit@debbugs.gnu.org; Sat, 29 Feb 2020 06:52:37 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:40174) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1j80fb-0005Ph-7O for 39799@debbugs.gnu.org; Sat, 29 Feb 2020 06:52:35 -0500 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:59433) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1j80fV-0008Gp-H1; Sat, 29 Feb 2020 06:52:29 -0500 Original-Received: from [176.228.60.248] (port=4325 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1j80fV-00079D-0e; Sat, 29 Feb 2020 06:52:29 -0500 In-reply-to: (message from Mike FABIAN on Sat, 29 Feb 2020 12:14:28 +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:176671 Archived-At: > From: Mike FABIAN > Cc: rpluim@gmail.com, 39799@debbugs.gnu.org > Date: Sat, 29 Feb 2020 12:14:28 +0100 > > > IOW, what we need is a detailed description of what Pango does here, > > and how does Gedit affect that by configuring its default fonts. Only > > then we can reason about the differences between that and what Emacs > > does. > > Yes, you are right, and I think this is very difficult. > > I don’t know the details, but Pango seems to “cut” text into “runs” > where each “run” is rendered with a single font. And it tries to > cut the text into “runs” in a way that the overall result looks > as nice as possible. Every text-shaping engine, including those used by Emacs, does that. The devil is in the details: how exactly are the "runs" decided. > >> Yes, it does tell that it was composed with the following character: > > > > And the resulting display is what you expect? If not, then I think > > you need to find a font which supports Emoji presentation of > > characters such as Ⓜ, and make Emacs use it for those sequences. > > Yes, in the case of Ⓜ️ U+24C2 U+FE0F the result in Emacs is perfect > when using “Noto Color Emoji” or “Joypixels”. It is displayed in colour > and behaves as a single character in the buffer, the variation selector > is not displayed as a box. This is perfect. > > But when using Symbola for the same sequence one sees U+FE0F as an ugly > box. So we should augment our default fontsets to use Emoji-capable fonts in preference to those, like Symbola, which aren't. And perhaps for Emoji we should make the exception in the rule that we prefer the default face's font, so that users will not need to tweak use-default-font-for-symbols to have Emoji display with those capable fonts. Patches to these effects are welcome. > But what about # U+0023 NUMBER SIGN ? > > This does have an emoji representation. The question is how important is to be able to display that character as an Emoji, in the context of the jobs that Emacs is mainly used for. Maybe not too much. > How could this ever work in Emacs? If you have to decide for a single > font to render U+0023 in Emacs, you would need to set a “capable” emoji > font for an ASCII character like #. One probably does not want to do > that. If fonts like DejaVu Sans Mono and others, routinely used for displaying fixed-pitch text (such as program source code) acquire the capabilities of displaying Emoji, that is exactly what should be done. As long as the current tendency of using Emoji everywhere continues, I see no reason not to expect those fonts to be enhanced to support Emoji. > Then # in text representation would look different in style than > the other ASCII characters because it would come as the text > representation glyph from some emoji font which would probably not go > well together with other ASCII characters coming from some font like > for example “DejaVu Sans Mono”. So one probably wants to set > something like “DejaVu Sans Mono” for # as well, otherwise normal text > won’t look nice. But how can one display U+0023 U+FE0F as am emoji then? > > This seems very messy, I don’t know how this can be solved. The 'face' text property method I mentioned elsewhere should still work, even if a single font cannot display both text and Emoji presentation of the sequences.