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: Tue, 30 May 2023 15:30:58 +0200 Message-ID: <87a5xmaqul.fsf@gmail.com> References: <87a5xrzsph.fsf@stebalien.com> <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> <87edmzto0l.fsf@gmail.com> <83ilcbgrxo.fsf@gnu.org> <87zg5nb3m3.fsf@gmail.com> <83bki3gpai.fsf@gnu.org> <87sfbfazfp.fsf@gmail.com> <837csrgioe.fsf@gnu.org> <87jzwqb7r3.fsf@gmail.com> <83ttvuf29m.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="1950"; 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 Tue May 30 15:32:53 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 1q3zT1-0000KA-Uf for geb-bug-gnu-emacs@m.gmane-mx.org; Tue, 30 May 2023 15:32:52 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1q3zSb-0005gk-FZ; Tue, 30 May 2023 09:32:28 -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 1q3zSK-0005cG-WF for bug-gnu-emacs@gnu.org; Tue, 30 May 2023 09:32:11 -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 1q3zSE-0003cj-Cy for bug-gnu-emacs@gnu.org; Tue, 30 May 2023 09:32:08 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1q3zSE-000713-7M for bug-gnu-emacs@gnu.org; Tue, 30 May 2023 09:32: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: Tue, 30 May 2023 13:32: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.168545347226904 (code B ref 63731); Tue, 30 May 2023 13:32:02 +0000 Original-Received: (at 63731) by debbugs.gnu.org; 30 May 2023 13:31:12 +0000 Original-Received: from localhost ([127.0.0.1]:60494 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3zRP-0006zs-IM for submit@debbugs.gnu.org; Tue, 30 May 2023 09:31:12 -0400 Original-Received: from mail-wr1-f49.google.com ([209.85.221.49]:57777) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1q3zRK-0006zN-N4 for 63731@debbugs.gnu.org; Tue, 30 May 2023 09:31:09 -0400 Original-Received: by mail-wr1-f49.google.com with SMTP id ffacd0b85a97d-30ae141785bso3510774f8f.3 for <63731@debbugs.gnu.org>; Tue, 30 May 2023 06:31:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685453461; x=1688045461; h=mime-version:message-id:date:references:in-reply-to:subject:cc:to :from:from:to:cc:subject:date:message-id:reply-to; bh=FcckzunDTT3P/23WwUMI+8i9w0AFW7mVH2FAAbGoisI=; b=QsdYgHO5qqInD1NKRU0R712kiShwxsZOj3UAYNakvIVptM2pou3k06Gp539gdMQpGV Cv1EeTUewzmEo9WSGgaCRH4XejMvoStXGCKhcHwz1/pIuPp5QTh5RrcosZMNuIReWEHm Bwkc+x4uP0dr832rIorCiiXdriBbOvF9ehp4YtZjWuHIti3g74gnFAJHADIEvgHQbUIk FBobGFBGoXZgayQYHG4rsB6yZxiwlvvXnFKTy1t8zbU+hQHTm0MKeOZqSKEiH/7fLkiX DFKEJS+3xMnDASQRx5eEUW9TFiARhijPqK/37VB6cPzzWrj+PuefW6GUVcYabusBmdoQ n7Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685453461; x=1688045461; h=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=FcckzunDTT3P/23WwUMI+8i9w0AFW7mVH2FAAbGoisI=; b=cLnz4vMK+Bg7Zkp6wqNMOgFFr4IHbMKgNPWdbuLv7A6go7Wht6PdqjqfqVVRVxkExy xWYNPW8fERXxU6sQnNDveqCFg2gaKgKHHUHg0TFR0vUqmW7TYilEhS1A79YpRMIg+/bj Z6XEr3AeW+fHs3/dqhk8dJPy387OLON9TMoJqWQB0ujlMZ4rGNUkD/+d6WEJe5Bs0viH 1Unx2aUoBhFR6JEMSyMD1VObj7i1cySWv0pw55U1jMVEfNHMceu1+QJ2er4fRDaaWMiY gqEdm5NOFleJ2wUxSAS6WwMxq1Q+I4xcJzzHvyOS6yJ2Buhbt5JbUQSg6xrIEOQWrmBT gs/w== X-Gm-Message-State: AC+VfDyTCG+aOsMRjIUYh6QhqcYdH9jd8xmbufSJvGOrVW+RUleevygn eIGSX0O3IWqXLiF7u2JLvdE= X-Google-Smtp-Source: ACHHUZ7JLcVjjIVX3FC9LEQ/Lf6YgX/5coqaOTEvNDEe77ZdR81mBsBysVrBB4oV5pJ98Z4/XNkdpw== X-Received: by 2002:a5d:4085:0:b0:30a:e69d:7219 with SMTP id o5-20020a5d4085000000b0030ae69d7219mr1720876wrp.65.1685453459993; Tue, 30 May 2023 06:30:59 -0700 (PDT) Original-Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id c17-20020adffb11000000b0030633152664sm3283043wrr.87.2023.05.30.06.30.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 May 2023 06:30:59 -0700 (PDT) In-Reply-To: <83ttvuf29m.fsf@gnu.org> (Eli Zaretskii's message of "Tue, 30 May 2023 15:10:45 +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:262631 Archived-At: --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable >>>>> On Tue, 30 May 2023 15:10:45 +0300, Eli Zaretskii said: Eli> Which means it _is_ composed. Moreover, with Noto Color Emoji we = get Eli> a single glyph. On my system, I have Noto Emoji, from which I get= two Eli> glyphs: Eli> [0 1 128077 422 17 1 15 12 2 nil] Eli> [0 1 65039 3 17 0 1 0 1 [0 0 0]] Eli> (in which case I can understand why the second one is displayed as= a Eli> hex box if I customize glyphless-char-display-control). But I also get a hex box if I customize glyphless-char-display-control, even though 'C-u C-x =3D' claims there=CA= =BCs only one glyph. Eli> So, given that this is the case, why is this wrong, again? If the Eli> font and the shaper produce two glyphs, or one glyph that looks li= ke Eli> two, why should we think it's an Emacs's problem? Because Emacs behaves differently depending on whether we have a composition rule for FE0F that looks backwards or one for 1F44D that looks forwards. The sequence in both cases is U+1F44D U+FE0F U+7C U+61 U+1F44D U+7C U+61 (set-char-table-range composition-function-table #xFE0F '(["\\c.\ufe0f" 1 font-shape-gstring])) produces the following: --=-=-= Content-Type: image/png Content-Disposition: inline; filename=backward-composition.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable There is a (very) thin space that shouldn=CA=BCt be there between the 1f44d and the '|' on the line that has the FE0F (and since it follows the value of glyphless-char-display-control, I don=CA=BCt think it comes from the shaping engine). but (set-char-table-range composition-function-table #x1F44D=20 '(["\U0001f44d\ufe0f" 0 font-shape-gstring])) gives me this, where the two '|' align perfectly. --=-=-= Content-Type: image/png Content-Disposition: inline; filename=forward-composition.png Content-Transfer-Encoding: base64 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 --=-=-= Content-Type: text/plain (as an experiment, I hacked 'produce_glyphless_glyph' to skip displaying variation selectors, and the problem disappears). thanks Robert --=-=-=--