From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Robert Pluim Newsgroups: gmane.emacs.bugs Subject: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate Date: Mon, 29 May 2023 12:44:58 +0200 Message-ID: <87edmzto0l.fsf@gmail.com> References: <87a5xrzsph.fsf@stebalien.com> <83pm6nlhll.fsf@gnu.org> <87v8gfmqyt.fsf@gmail.com> <83ilcflbua.fsf@gnu.org> <87mt1rmjjg.fsf@gmail.com> <83v8gfjnzj.fsf@gnu.org> <87edn3mbr3.fsf@gmail.com> <83mt1rjg69.fsf@gnu.org> <875y8fm7x7.fsf@gmail.com> <83lehbjdjd.fsf@gnu.org> <87wn0vkqn1.fsf@gmail.com> <83jzwvj94x.fsf@gnu.org> <87h6rw8y82.fsf@gmail.com> <83353gipww.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="12412"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 63731@debbugs.gnu.org, steven@stebalien.com To: Eli Zaretskii Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon May 29 12:46:39 2023 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 1q3aOc-0002zr-Pm for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 29 May 2023 12:46:38 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3aOC-0007eO-8a; Mon, 29 May 2023 06:46:12 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1q3aO3-0007dn-Gl for bug-gnu-emacs@gnu.org; Mon, 29 May 2023 06:46:05 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1q3aO3-0003ek-99 for bug-gnu-emacs@gnu.org; Mon, 29 May 2023 06:46:03 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q3aO2-0008NT-JA for bug-gnu-emacs@gnu.org; Mon, 29 May 2023 06:46:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Robert Pluim Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 29 May 2023 10:46:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 63731 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 63731-submit@debbugs.gnu.org id=B63731.168535710832102 (code B ref 63731); Mon, 29 May 2023 10:46:02 +0000 Original-Received: (at 63731) by debbugs.gnu.org; 29 May 2023 10:45:08 +0000 Original-Received: from localhost ([127.0.0.1]:57135 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3aNA-0008Li-5I for submit@debbugs.gnu.org; Mon, 29 May 2023 06:45:08 -0400 Original-Received: from mail-wr1-f52.google.com ([209.85.221.52]:62917) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3aN7-0008Kr-Pz for 63731@debbugs.gnu.org; Mon, 29 May 2023 06:45:06 -0400 Original-Received: by mail-wr1-f52.google.com with SMTP id ffacd0b85a97d-30ae69ef78aso840563f8f.1 for <63731@debbugs.gnu.org>; Mon, 29 May 2023 03:45:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685357100; x=1687949100; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:from:to:cc:subject:date:message-id :reply-to; bh=CJQKkdVmoGYfbDVmfqLddxE/OJ3MWMFAFHrEnM+ynYw=; b=Vl1DNkSilhiC4l342MblEKsrZCrifGAzUSY1bXAbJPX6X2BDihxZm61IAY8fg3Tygc YPuPKuWkaBb9QnJ30ipVF5qUZqJICx36CFjvwhdFJRX/VUL/fg/+0vNcPRbsDId19zdq ORDlqgmcrWxkz+i8SqmFCYn3xtSI9+NRtuReVfj1uJ82+FhMoHRukUAyWsz/jOP81MIJ jtfCYh8mAGiByP94sQ69VTMyaW8364LTrFsIU5wMrvMEm681k3cYlesS3MT5eaEHviWG NswE7isDuw7gXBGKNWq7ekbV+lBxutSady25iGpLI3IF7JmpxeobuWO42DcKMch9LtVQ W/2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685357100; x=1687949100; h=content-transfer-encoding:mime-version:message-id:date:references :in-reply-to:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=CJQKkdVmoGYfbDVmfqLddxE/OJ3MWMFAFHrEnM+ynYw=; b=ioKJmbYFfE5BBYFUAbHLpTBCb6O8XrVvCyZl+61hn1jaq0XrFFChy3TqfV08lNwwom obCHiGWcDyapbLVb5+zTHSe9wSwy3IL4EbAU0dYIiTkphZwDU+He6bNkpzIZN8fZud8h dODbeXksYaYAbwNUoneYxV3skuPKvETiTT34owEl3wVFrJoHjSdtxX1KTSr340Ka2hYP N+hEe7kr/h9ulV9BPjCdaINfKZbBnvyUt8f+ggRwa2yQK7lWD1OSOWl3axeAvcQdmC8M 42E8Rko2fazY3Za6Ybb4EJyiU/Y38GhVgXOvxAHQDCsZjHooSUyJ2uQP9J6bxPToZRtq qYXA== X-Gm-Message-State: AC+VfDwR/mmvylCmfGIrku+uE2U3BGdzVTqM8PS2dRv8Nv+Kq/oEiv+J 0/A2Qwj7SkISF6phIQyiFwc= X-Google-Smtp-Source: ACHHUZ41JYfEuwNA2uG/HbxKD47ZjkhECA8wOqkY8FWaxtI3SbkpnK2RlDMyk29o6KBgpVHcAUIknQ== X-Received: by 2002:a05:600c:4f07:b0:3f6:286:95d with SMTP id l7-20020a05600c4f0700b003f60286095dmr6634513wmq.18.1685357099592; Mon, 29 May 2023 03:44:59 -0700 (PDT) Original-Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id s26-20020a7bc39a000000b003f42328b5d9sm13828408wmj.39.2023.05.29.03.44.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 May 2023 03:44:59 -0700 (PDT) In-Reply-To: <83353gipww.fsf@gnu.org> (Eli Zaretskii's message of "Sun, 28 May 2023 15:47:11 +0300") X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:262563 Archived-At: >>>>> On Sun, 28 May 2023 15:47:11 +0300, Eli Zaretskii said: >> From: Robert Pluim >> Cc: 63731@debbugs.gnu.org, steven@stebalien.com >> Date: Sun, 28 May 2023 13:57:49 +0200 >>=20 >> Eli, if the 20e3 changes are too much for emacs-29, I can put them in >> master. Eli> Yeah, I think it should go to master for now. I pushed the doc changes, but not the code changes, because I now think they=CA=BCre papering over a deeper bug (which we=CA=BCve noticed bef= ore, but didn=CA=BCt fix then). In all these cases, consider the sequence U+1F44D U+FE0F - emacs-29: Displays as colour emoji, followed by an empty box - emacs-29 with the following change in composite.el: (set-char-table-range composition-function-table #xFE0F `([,(purecopy "\\c.\ufe0f") 1 compose-gstring-for-graphic])) Displays as colour emoji. Much rejoicing. If I follow my own advice, and customize `glyphless-char-display-control' to show hex-boxes for variation selectors, you then see that in actual fact, we are still displaying the FE0F, but since it uses thin-space by default, it wasn=CA=BCt obvious. Much sadness. C-u C-x =3D: display: composed to form "=F0=9F=91=8D=EF=B8=8F" (see be= low) Composed with the following character(s) "=EF=B8=8F" using this font: ftcrhb:-GOOG-Noto Color Emoji-regular-normal-normal-*-13-*-*-*-m-0-is= o10646-1 by these glyphs: [0 1 128077 569 16 0 17 13 4 nil] with these character(s): =EF=B8=8F (#xfe0f) VARIATION SELECTOR-16 Now I notice (via emoji-variation-sequences.txt), that this is only happening for the following codepoints. U+1F408 U+1F415 U+1F426 U+1F446 U+1F447 U+1F448 U+1F449 U+1F44D U+1F44E And if I look in lisp/international/emoji-zwj.el, I find: (#x1F44D . ,(eval-when-compile (regexp-opt '( "\N{U+1F44D}\N{U+1F3FB}" "\N{U+1F44D}\N{U+1F3FC}" "\N{U+1F44D}\N{U+1F3FD}" "\N{U+1F44D}\N{U+1F3FE}" "\N{U+1F44D}\N{U+1F3FF}" )))) If I add "\N{U+1F44D}\N{U+FE0F}" to that, and undo the composite.el change, then everything is fine. Hurrah! This means that the `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic] [nil 0 compose-gstring-for-graphic]) is not doing the right thing for this case. I can change the emoji-zwj.awk script to add CHAR+FE0F for all emoji, unless someone knows how to fix composition to do the right thing here. (there are similar issues with CHAR+FE0E) Robert --=20