GNU bug report logs - #63731
[PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Reported by: Steven Allen <steven@HIDDEN>; Keywords: patch fixed; Done: Robert Pluim <rpluim@HIDDEN>; Maintainer for emacs is bug-gnu-emacs@HIDDEN.
bug marked as fixed in version 29.1, send any further explanations to 63731 <at> debbugs.gnu.org and Steven Allen <steven@HIDDEN> Request was from Robert Pluim <rpluim@HIDDEN> to control <at> debbugs.gnu.org. Full text available.
Added tag(s) fixed. Request was from Robert Pluim <rpluim@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 2 Jun 2023 12:25:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 02 08:25:40 2023
Received: from localhost ([127.0.0.1]:39272 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q53qd-0005KA-Pu
	for submit <at> debbugs.gnu.org; Fri, 02 Jun 2023 08:25:40 -0400
Received: from mail-wm1-f50.google.com ([209.85.128.50]:47263)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>)
 id 1q53qa-0005Jp-Kd; Fri, 02 Jun 2023 08:25:37 -0400
Received: by mail-wm1-f50.google.com with SMTP id
 5b1f17b1804b1-3f6d01d390bso20078695e9.2; 
 Fri, 02 Jun 2023 05:25:36 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685708730; x=1688300730;
 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=3UhJD8VltECgYGs10PMEFaZ4bmBQOwhIXATJUW3kesc=;
 b=UZQDgGKf98m78SmMy6ML2Qp3p9ifManjplvcmGJshYGq2Q0Sxrohfli2MmloJOsUrQ
 A6sFXEwPiaQxvSTsCBj2bMyD8kqNC2wJA0E5DtcVNb96ZZlaDAH86bZQEVkQ3nC1WoD8
 Pt6eA+1IV4d4Xtmc3s/+Mj4w24waEXS/HGYRcJ/XvvEyLVymVDbb3FTknUzLnmjY75Lw
 zhMJHxygcbL6NE83Zs6XEOt76SzbHLmVXoHYum1pHYqsu/kJSV88JbDa97dzVDOH91wV
 tm8YCE8YHD8jk/qi14sfKBsxEJUBDvj10CRshbnPE0ybYOCQAvX0Prf0ZLHQeJpZBXxp
 nKVQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685708730; x=1688300730;
 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=3UhJD8VltECgYGs10PMEFaZ4bmBQOwhIXATJUW3kesc=;
 b=ScYdwuct7dhLUR3qNbBK2p98yYbekqNYGOgn9vCKY/PzvoE8ND7OTiBJIApZTKCfj3
 wSXvrDBuFtXO65Z/P8YFbYYPjT3ybtZp6Z/GtzFLMhowRcHu398RHLLfEdt4yg5mzxkm
 FnrJhwbUnGVmi7nJ/THPIKMR8dJs2HT5S5cD1xsjoZlNYL+FdgkSZSUEvGQ3HTOFVEBC
 jasML530SO2fqQSkL8HJJDNJ7XfCSMR4BNG9z+uVxCpJetBg8HNEtiNgHYYRUyORpBCz
 HD+g7WIlNpPImNSGzmwf9NGtDVw+QTZF4fTWYu0WOj4yRwPtUVlBLEzv4eIq2Ixv+l94
 sMYQ==
X-Gm-Message-State: AC+VfDyjEik/m6zK3vOExnspzXI1h+uYSr8+cY3je0OUXQFyos8S8ZJ1
 hIpn2nGyTs/AnFej0G8ACJzElMn59P8=
X-Google-Smtp-Source: ACHHUZ7tbQ5kvdD/8wiUHL1bvSv2CmWhCJJtpzy6CLrg/xLCvNmcoUAwGtVRP4KdIRNI8mkkjTIAqA==
X-Received: by 2002:a05:600c:290a:b0:3f1:72ec:4009 with SMTP id
 i10-20020a05600c290a00b003f172ec4009mr1899509wmd.9.1685708729998; 
 Fri, 02 Jun 2023 05:25:29 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 y7-20020a1c4b07000000b003f60455de07sm1812237wma.15.2023.06.02.05.25.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 02 Jun 2023 05:25:29 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83edmuax13.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 02 Jun
 2023 15:06:32 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
 <83r0qxg4q0.fsf@HIDDEN> <875y88bhvr.fsf@HIDDEN>
 <83ilc8eapd.fsf@HIDDEN> <83edmvcpzl.fsf@HIDDEN>
 <87wn0n9uol.fsf@HIDDEN> <83a5xjcgev.fsf@HIDDEN>
 <87sfbb9m4y.fsf@HIDDEN> <87o7ly9t6b.fsf@HIDDEN>
 <83edmuax13.fsf@HIDDEN>
Date: Fri, 02 Jun 2023 14:25:28 +0200
Message-ID: <87fs7a9hl3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

tags 63731 fixed
close 63731 29.1
quit

>>>>> On Fri, 02 Jun 2023 15:06:32 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    Eli> Thanks, please install this on the emacs-29 branch.

Closing.
Committed as 2f94f6de9d6

    >> Proper VS-15 support is harder, I need to think about that some more.

    Eli> Can you describe here the current problems with VS-15?

CHAR+VS-15 and CHAR+VS-16 correctly choose text and emoji
representation, but CHAR+VS-15 results in the text representation only
if CHAR is not an emoji. If it is an emoji, the font selected for it
will always be the emoji font.

I=CA=BCve tried forcing font_range to use the font for the 'symbol' script
for EMOJI+VS-15, instead, but that resulted in composition
failing. Maybe there are some more dragons lurking in the composition
rules.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 2 Jun 2023 12:06:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 02 08:06:03 2023
Received: from localhost ([127.0.0.1]:39220 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q53Xf-0001xV-0H
	for submit <at> debbugs.gnu.org; Fri, 02 Jun 2023 08:06:03 -0400
Received: from eggs.gnu.org ([209.51.188.92]:45978)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q53Xc-0001wt-Sk
 for 63731 <at> debbugs.gnu.org; Fri, 02 Jun 2023 08:06:01 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q53XX-00034u-5k; Fri, 02 Jun 2023 08:05:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=BrksTdDSGvpsX0xtejke0fkGLqehtHF913jDN+HmIQ8=; b=mXxuIF18IxRn7lCRXMlD
 H1GRt6iBuGQOdRGLsnALEiSnWOsydHSDLNfPifTexEaDXLmWKG1+ANPBtVj5MxWPUXsJHMdrDFMij
 Up5MyrSnZKybac5eo8sFt0ngZzWFV427IEIvYyPCEPsRksZ7OIx1hxaLerM00y45QEGPXMFeELwdl
 HM4Lm52TXjjNNg+FLXZdVAS9Pr7uiLSAlcx/zAwPUJfktnRgUeanwKZkrKxYhn9W8dkejglRpycCt
 bXPP6mLZQ57Vn1IjwR7shljsQ01rVeXPGt/pCc0wAF7+jQxXkyTU2Q3O/SKaVezwnXbpy6B29myG8
 eb0xSjBPwVASfA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q53XL-0005X1-6w; Fri, 02 Jun 2023 08:05:53 -0400
Date: Fri, 02 Jun 2023 15:06:32 +0300
Message-Id: <83edmuax13.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87o7ly9t6b.fsf@HIDDEN> (message from Robert Pluim on Fri, 02
 Jun 2023 10:15:08 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
 <83r0qxg4q0.fsf@HIDDEN> <875y88bhvr.fsf@HIDDEN>
 <83ilc8eapd.fsf@HIDDEN> <83edmvcpzl.fsf@HIDDEN>
 <87wn0n9uol.fsf@HIDDEN> <83a5xjcgev.fsf@HIDDEN>
 <87sfbb9m4y.fsf@HIDDEN> <87o7ly9t6b.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Fri, 02 Jun 2023 10:15:08 +0200
> 
> >>>>> On Thu, 01 Jun 2023 18:34:53 +0200, Robert Pluim <rpluim@HIDDEN> said:
> 
>     Eli> Ready to install this on the emacs-29 branch?
> 
>     Robert> Not today. My brain is fuzzy, and it needs more testing (the patch,
>     Robert> not my brain).
> 
> So the minimal change to get CHAR+VS-15 and CHAR+VS-16 to compose in
> all our emoji test files is below. I noticed that we donʼt compose all
> the sequences in emoji-test.txt correctly, but Iʼll fix that on master
> by stealing^Wdrawing inspiration from Larsʼ work.

Thanks, please install this on the emacs-29 branch.

> Proper VS-15 support is harder, I need to think about that some more.

Can you describe here the current problems with VS-15?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 2 Jun 2023 08:15:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Jun 02 04:15:19 2023
Received: from localhost ([127.0.0.1]:39049 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4zwN-0001bp-25
	for submit <at> debbugs.gnu.org; Fri, 02 Jun 2023 04:15:19 -0400
Received: from mail-wm1-f45.google.com ([209.85.128.45]:44136)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q4zwK-0001bb-Gr
 for 63731 <at> debbugs.gnu.org; Fri, 02 Jun 2023 04:15:17 -0400
Received: by mail-wm1-f45.google.com with SMTP id
 5b1f17b1804b1-3f6077660c6so16520795e9.0
 for <63731 <at> debbugs.gnu.org>; Fri, 02 Jun 2023 01:15:16 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685693710; x=1688285710;
 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=HL/cabMWLwFlA8sfKne7ZOgHKPVWfZIlxqXmz720nlQ=;
 b=Njkl0Vow2AFuqjH151qVJeWWGBTyq549D+/3J8hAhT3oCudIeHLaLq4pCGfReXYVQ/
 EsRKSDVQ8jOJ2B1afLflVu2Gfi/Aw0HKnp017YQbvaEmKgsdvHl74gy2SzUcJ4FMAyaW
 43gpy6Zkgi7XLlsfmLnGeTUGPxusFPl+pXjGzBTmIaaQHHEp+s0F8i6pO60eaJVlQbHI
 BQeotYY4F9ldlPeq821qikqmkKly2GYyZxCL1ld0M2kOV5aV817ySbQMYbeftaWLJPcO
 jejWsPGogKBw88ZGZ647jbPK//40hMOd9g2Ht3QTDgd0a/M2CYY3Jza3aO0SeZY/bcgp
 6++Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685693710; x=1688285710;
 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=HL/cabMWLwFlA8sfKne7ZOgHKPVWfZIlxqXmz720nlQ=;
 b=NxTdxxoyfnuEqCkXH8WURkcGXlpiUNm89u4cYPkqMOpivLeTOgE2x4wIbcpEoPuxDK
 sEyP3vOyM8AnfQMatNRhQr0RAqWuTWQjHwkbBIFy2eo1R4zxxH1CqM4gHS0zuIG752y+
 sZ54arYG4hAPIJEUeDGcACBJ8zJyvKWSwR6XUc2YzoodMQwoa+IBZbPW1ECETNp3jc2U
 D3mOReVc8g6ppM1ECAUgSearFL3clIVsoxVNF4UX7efh+7MWBu8c8BLGPM/DKBX4QtK0
 VO0OuIEoxthU6CMllNYnVKt4T44eyp6A+ACa1sySSkUwwNQgFCx7HVe6ObnuDv62+lbM
 ANog==
X-Gm-Message-State: AC+VfDzClfFtnF5jLtfshsokEvaG+DX1wGkgoVO8PBk6/YbrVhCBDxlL
 RGhZgxRsi5VJ2Dimd9TYCJ8=
X-Google-Smtp-Source: ACHHUZ7J3SM6cKv6aLNE15uhYkodcXM0weViyNqAU6XcN1TL4a+nGlAOdDjC6Ajt1iQXccBS4T3MHA==
X-Received: by 2002:a5d:5112:0:b0:30a:8fcb:ec24 with SMTP id
 s18-20020a5d5112000000b0030a8fcbec24mr4151518wrt.1.1685693710294; 
 Fri, 02 Jun 2023 01:15:10 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 k9-20020a056000004900b002c71b4d476asm919608wrx.106.2023.06.02.01.15.09
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 02 Jun 2023 01:15:09 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <87sfbb9m4y.fsf@HIDDEN> (Robert Pluim's message of "Thu, 01
 Jun 2023 18:34:53 +0200")
References: <87a5xrzsph.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
 <83r0qxg4q0.fsf@HIDDEN> <875y88bhvr.fsf@HIDDEN>
 <83ilc8eapd.fsf@HIDDEN> <83edmvcpzl.fsf@HIDDEN>
 <87wn0n9uol.fsf@HIDDEN> <83a5xjcgev.fsf@HIDDEN>
 <87sfbb9m4y.fsf@HIDDEN>
Date: Fri, 02 Jun 2023 10:15:08 +0200
Message-ID: <87o7ly9t6b.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Thu, 01 Jun 2023 18:34:53 +0200, Robert Pluim <rpluim@HIDDEN> s=
aid:

    Eli> Ready to install this on the emacs-29 branch?

    Robert> Not today. My brain is fuzzy, and it needs more testing (the pa=
tch,
    Robert> not my brain).

So the minimal change to get CHAR+VS-15 and CHAR+VS-16 to compose in
all our emoji test files is below. I noticed that we don=CA=BCt compose all
the sequences in emoji-test.txt correctly, but I=CA=BCll fix that on master
by stealing^Wdrawing inspiration from Lars=CA=BC work.

Proper VS-15 support is harder, I need to think about that some more.

diff --git c/admin/unidata/emoji-zwj.awk i/admin/unidata/emoji-zwj.awk
index 7d2ff6cb900..f13f796bcac 100644
--- c/admin/unidata/emoji-zwj.awk
+++ i/admin/unidata/emoji-zwj.awk
@@ -106,7 +106,8 @@ END {
=20
      for (elt in ch)
     {
-        printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n",=
 elt, vec[elt])
+        entries =3D sprintf("%s\n\"\\N{U+%s}\\N{U+FE0E}\"\n\"\\N{U+%s}\\N{=
U+FE0F}\"", vec[elt], elt, elt)
+        printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n",=
 elt, entries)
     }
      print "))"
      print "  (set-char-table-range composition-function-table"
diff --git c/lisp/composite.el i/lisp/composite.el
index fb8b76114f4..9710c3c371b 100644
--- c/lisp/composite.el
+++ i/lisp/composite.el
@@ -861,7 +861,7 @@ compose-gstring-for-variation-glyph
 ;; handled in font_range, we end up choosing the Emoji presentation
 ;; rather than the Text presentation.
 (let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
-  (set-char-table-range composition-function-table '(#xFE00 . #xFE0E) elt)
+  (set-char-table-range composition-function-table '(#xFE00 . #xFE0D) elt)
   (set-char-table-range composition-function-table '(#xE0100 . #xE01EF) el=
t))
=20
 (defun auto-compose-chars (func from to font-object string direction)


Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 1 Jun 2023 16:35:04 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 01 12:35:04 2023
Received: from localhost ([127.0.0.1]:38402 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4lGR-0001wA-T7
	for submit <at> debbugs.gnu.org; Thu, 01 Jun 2023 12:35:04 -0400
Received: from mail-wm1-f52.google.com ([209.85.128.52]:52706)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q4lGP-0001vT-Bi
 for 63731 <at> debbugs.gnu.org; Thu, 01 Jun 2023 12:35:03 -0400
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-3f6042d610fso10542095e9.1
 for <63731 <at> debbugs.gnu.org>; Thu, 01 Jun 2023 09:35:01 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685637295; x=1688229295;
 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=olexrzSYESWLgtjOTYa8aO8Hy1X+SJBl1tCiM2bA6RA=;
 b=Xjm1yW2m1Q/Ho7eZduOlZ2bDhk01CwBQYQHmsyNm0ItNVa2HRaBxsIp+fUO98CjHB6
 zriKMnC6S+T+3Inu+yVlZR/+oz34pySfISzifMJazTxBaC+ONRunNCNbyPCp64PmydjY
 kN2dsPeMABtx9EnBTzLK3Ih8Is7v2kOXPsqi/o0cSEL588j90J8y1BmQJW5GrVbtD23P
 27SgyOp15+U3dr1l/GTUFsDKJttRVsiCMdBHE/DTHc5nouy7IAgrp5Lvr9TtJSMJNjXL
 3obETCKba9aATaB9ZvsCIC7qZHI9daysWIxQgVoKy5nMbDOWZ6u+SptVVL1BwBS4tWQj
 yjAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685637295; x=1688229295;
 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=olexrzSYESWLgtjOTYa8aO8Hy1X+SJBl1tCiM2bA6RA=;
 b=GAmF2F2+W2lgdm31RuctrNfrDsC9GuzycjY4c9xNEtVfRD0ZUC6k0BmfaS3bp6CWO2
 KJsdSIvdhyEPoZI/q/m9lbbQY98tG4pzF4AgzfJEHyaRsDrsxGRO023o4zJ7uxej/ri/
 +4/QpYjBPb5QZCPrfrzskieskxytYATRdlY09YXlI5ybsR86mNaaAfUojuJQaLgWCdCU
 GVoH2HO4YwUQh2iO8z/GLbJxWsGwSmIAie7p8v+N4N57/kzmhTwJtHXwkn5YBwx5rT99
 SInZmUA3Bf4XXzm6U5ghD4OYLFkbGDlhDs6EaZVvcVL1CTJowZj3/lfDRvp+6YDmnwtb
 Qiuw==
X-Gm-Message-State: AC+VfDzj11gcJ+nEPHk7YxWMGN/Z1dzoUnPf5hbFy/vQHHiJz07rzfPx
 cT0eizzSa+cJ2tmTUz8uhTw=
X-Google-Smtp-Source: ACHHUZ5OB1bOl7ffmFhrkDYizuzklJ668alogTayBBT0vLQ8aouLN6OZzNrOjgz6Z1n44yV35hMsEQ==
X-Received: by 2002:a05:600c:404:b0:3f6:da2:bc86 with SMTP id
 q4-20020a05600c040400b003f60da2bc86mr2633383wmb.7.1685637294987; 
 Thu, 01 Jun 2023 09:34:54 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 f1-20020a1c6a01000000b003f423508c6bsm2896589wmc.44.2023.06.01.09.34.54
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Jun 2023 09:34:54 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83a5xjcgev.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 01 Jun
 2023 19:10:16 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
 <87sfbfazfp.fsf@HIDDEN> <837csrgioe.fsf@HIDDEN>
 <87jzwqb7r3.fsf@HIDDEN> <83ttvuf29m.fsf@HIDDEN>
 <87a5xmaqul.fsf@HIDDEN> <83r0qxg4q0.fsf@HIDDEN>
 <875y88bhvr.fsf@HIDDEN> <83ilc8eapd.fsf@HIDDEN>
 <83edmvcpzl.fsf@HIDDEN> <87wn0n9uol.fsf@HIDDEN>
 <83a5xjcgev.fsf@HIDDEN>
Date: Thu, 01 Jun 2023 18:34:53 +0200
Message-ID: <87sfbb9m4y.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Thu, 01 Jun 2023 19:10:16 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> Date: Thu, 01 Jun 2023 15:30:18 +0200
    >>=20
    Eli> OK, the issue is quite clear even without stepping with a debugger.
    >>=20
    Eli> Bottom line: we cannot support a situation where the same character
    Eli> can be composed by more than one slot in composition-function-tabl=
e.
    Eli> If there are more than a single slot for the same character, one of
    Eli> them will be tried, and the rest will be ignored (not even tried).
    Eli> In particular, if a character CH has a "forward" composition rule =
that
    Eli> starts with itself, and also has a "backward" rule (one with non-z=
ero
    Eli> look-back parameter) triggered by a different character (which sho=
uld
    Eli> follow CH), the latter rule will never be tried.
    >>=20
    >> OK, that makes sense. Where would be a good place to document this?

    Eli> In the doc string of composition-function-table, I think.  We alre=
ady
    Eli> document there the caveat of arranging rules in descending order of
    Eli> look-back, which is part of the same "misfeature".

OK. I=CA=BCll see if I can come up with something (or I=CA=BCll just steal =
what
you wrote above :-)).

    >> That makes all the VS-16 sequences in
    >> admin/unidata/emoji-variation-sequences.txt display with the emoji
    >> font for me.

    Eli> Ready to install this on the emacs-29 branch?

Not today. My brain is fuzzy, and it needs more testing (the patch,
not my brain).

    >> If find-composition DTRT, could we not use it in the display engine?

    Eli> Not easily, because the display code calls subroutines of
    Eli> find-composition in a certain order, and that's what causes the
    Eli> behavior I described.

    Eli> And even if we could make this happen, I'm not sure we should:
    Eli> basically, having multiple matching slots would mean users and cal=
lers
    Eli> will never be sure which one "wins".

Yes, at least the semantics are clear (now that we know what they
are).

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 1 Jun 2023 16:09:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 01 12:09:42 2023
Received: from localhost ([127.0.0.1]:38371 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4krt-000186-QV
	for submit <at> debbugs.gnu.org; Thu, 01 Jun 2023 12:09:42 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50570)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q4krq-00017s-FR
 for 63731 <at> debbugs.gnu.org; Thu, 01 Jun 2023 12:09:40 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q4krj-00037v-U7; Thu, 01 Jun 2023 12:09:32 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=rErGHP695iV4Y6XMKpuDf7dmoX73SibhtydLkELHdkg=; b=l6WASrjot8UjgyDHpmEg
 1qqxv4mRgG/MXtSXATQ0j5cZlieU5yW7+OsdgoEQ36I2JDwz2g+NGOQa60XMRv0cimsQ1/nSYxMNQ
 Ckd/HShcTi9lMwCwhLd5VmKsEmZU09rS4+4H+GnKEb9XJGRagpa4R6DuxiGhBC366R5oN8s3veVGK
 9eyWe3/Yk1Y1xXVrRtNVEfZ8M7/rF/uakEEuo322PVnDCK2CSkD43AYbjUSnIggQna/7UUhTQdrn1
 Dc5EbLRv7cmTnCUy7psCr/njaDqO8Fi8RK3563hGSsHKtpcwRHuyCIn+VzVJraYpIQUcDHQwYwN5W
 UMOoC0bbSBNZ/Q==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q4krj-0007iM-2Y; Thu, 01 Jun 2023 12:09:31 -0400
Date: Thu, 01 Jun 2023 19:10:16 +0300
Message-Id: <83a5xjcgev.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87wn0n9uol.fsf@HIDDEN> (message from Robert Pluim on Thu, 01
 Jun 2023 15:30:18 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
 <87sfbfazfp.fsf@HIDDEN> <837csrgioe.fsf@HIDDEN>
 <87jzwqb7r3.fsf@HIDDEN> <83ttvuf29m.fsf@HIDDEN>
 <87a5xmaqul.fsf@HIDDEN> <83r0qxg4q0.fsf@HIDDEN>
 <875y88bhvr.fsf@HIDDEN> <83ilc8eapd.fsf@HIDDEN>
 <83edmvcpzl.fsf@HIDDEN> <87wn0n9uol.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Thu, 01 Jun 2023 15:30:18 +0200
> 
>     Eli> OK, the issue is quite clear even without stepping with a debugger.
> 
>     Eli> Bottom line: we cannot support a situation where the same character
>     Eli> can be composed by more than one slot in composition-function-table.
>     Eli> If there are more than a single slot for the same character, one of
>     Eli> them will be tried, and the rest will be ignored (not even tried).
>     Eli> In particular, if a character CH has a "forward" composition rule that
>     Eli> starts with itself, and also has a "backward" rule (one with non-zero
>     Eli> look-back parameter) triggered by a different character (which should
>     Eli> follow CH), the latter rule will never be tried.
> 
> OK, that makes sense. Where would be a good place to document this?

In the doc string of composition-function-table, I think.  We already
document there the caveat of arranging rules in descending order of
look-back, which is part of the same "misfeature".

>     Eli> Which means that to have #xFE0F compose correctly with Emoji
>     Eli> codepoints, we should include #xFE0F in the sequences in emoji-zwj.el.
> 
> Thatʼs easy enough:
> 
> diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk
> index 7d2ff6cb900..d1195ebbad8 100644
> --- a/admin/unidata/emoji-zwj.awk
> +++ b/admin/unidata/emoji-zwj.awk
> @@ -106,7 +106,8 @@ END {
>  
>       for (elt in ch)
>      {
> -        printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, vec[elt])
> +        entries = sprintf("%s\n\"\\N{U+%s}\\N{U+FE0F}\"", vec[elt], elt)
> +        printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n", elt, entries)
>      }
>       print "))"
>       print "  (set-char-table-range composition-function-table"
> 
> That makes all the VS-16 sequences in
> admin/unidata/emoji-variation-sequences.txt display with the emoji
> font for me.

Ready to install this on the emacs-29 branch?

>     Eli> The reason why "C-u C-x =" lies to us saying there's a composition
>     Eli> where really there isn't is because descr-text.el uses the
>     Eli> find-composition primitive, whose implementation is parallel and
>     Eli> separate from that of the display-engine routines, and is structured
>     Eli> differently.  So find-composition does succeed to detect the second
>     Eli> rule, the one triggered by #xFE0F, which the display engine ignores.
>     Eli> I will think whether this can be fixed, to avoid such false positives,
>     Eli> but if we accept that there can be only one set of composition rules
>     Eli> for a character, then we basically invoked undefined behavior here,
>     Eli> and we got what we deserved.
> 
> If find-composition DTRT, could we not use it in the display engine?

Not easily, because the display code calls subroutines of
find-composition in a certain order, and that's what causes the
behavior I described.

And even if we could make this happen, I'm not sure we should:
basically, having multiple matching slots would mean users and callers
will never be sure which one "wins".




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 1 Jun 2023 13:30:28 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 01 09:30:28 2023
Received: from localhost ([127.0.0.1]:37262 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4iNn-0004Yc-Vz
	for submit <at> debbugs.gnu.org; Thu, 01 Jun 2023 09:30:28 -0400
Received: from mail-wm1-f48.google.com ([209.85.128.48]:62543)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q4iNl-0004Y8-Qw
 for 63731 <at> debbugs.gnu.org; Thu, 01 Jun 2023 09:30:27 -0400
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-3f6ffc2b314so16683895e9.0
 for <63731 <at> debbugs.gnu.org>; Thu, 01 Jun 2023 06:30:25 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685626220; x=1688218220;
 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=keOWRxhv0MFtMcWgNyNOeTW6W62bKLP/bcDDJQeh27Q=;
 b=JtgSdy6TGfCU87mJZJrJkayhBSPWi+bbQdxOwM7IruR5sZdqY4Rf/jjm6I2KcONTOV
 jWSPOay7gunPWQaaVk1Gt6d9sImXjnZczdH6DhHj6uWn5JYbBCaqw5CzylpphdKv1RXs
 O+QXGkLxYhBFY3jxl8vFwznwdH0+luGfTwF9CB7bowV0vrDoQnRsM1/38DHjtHbTqIS3
 x6eYXuCCQkmlajNGm//mT51anoIya5LCg6d02TZjacb7nC1q1dccvHqXn+V+q+pAR1x8
 OaeDgLC+N4aQBd4H/bhsx0f3KGW3nIoFMrwcHjk3gi0stttIka/4/jTlcpkU/r9bMMiS
 dlBg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685626220; x=1688218220;
 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=keOWRxhv0MFtMcWgNyNOeTW6W62bKLP/bcDDJQeh27Q=;
 b=Q1QWj6qVWj42FesjcfyCkEV2RZxywjpEwO7hqZcahneUmHJsHodUwj2fqhICQRyl0k
 bDoWA6z/y8McD/otOMqVA2U4Kej/BiwCZodoDET+agyvOrBaJ3g2USFYkkY9F11ESmj3
 WgbkO04OaHpkxEUHwAEL35bApPDdJIXb1OyysypusxO0L8yCltfR3wgpXIT4ZGgY/USG
 Zflxwd+SWrVPnx4GT/EWUMKYDXfIOqf8RMrJgi2aat89cK/Q6kNz+6MO4zWFhTWKhp0m
 C7Jr2OvJvdQVWM4oxua3/U+1sF7xPKB+6+wVcCV51o0pr+KHjCvZcBmYqiCtJVp1YS4O
 tbGw==
X-Gm-Message-State: AC+VfDw63yvqVDk7MFYvwZtfOn1wAT5HWhBThhLLS2CktbksTYbrmEpD
 oJkyFuYkNnTANDOVS5Lyh3U=
X-Google-Smtp-Source: ACHHUZ7Xe9nWbM29wbbMsRM8B99anawhDr9Uaq2RTuQR18A0dD6wtEC+4+a4tXji0m9JTuk9KiuPOw==
X-Received: by 2002:a05:6000:107:b0:2fe:e455:666c with SMTP id
 o7-20020a056000010700b002fee455666cmr1967359wrx.33.1685626219742; 
 Thu, 01 Jun 2023 06:30:19 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 q7-20020adff507000000b0030add836194sm10493472wro.65.2023.06.01.06.30.18
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 01 Jun 2023 06:30:19 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83edmvcpzl.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 01 Jun
 2023 15:43:26 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
 <87sfbfazfp.fsf@HIDDEN> <837csrgioe.fsf@HIDDEN>
 <87jzwqb7r3.fsf@HIDDEN> <83ttvuf29m.fsf@HIDDEN>
 <87a5xmaqul.fsf@HIDDEN> <83r0qxg4q0.fsf@HIDDEN>
 <875y88bhvr.fsf@HIDDEN> <83ilc8eapd.fsf@HIDDEN>
 <83edmvcpzl.fsf@HIDDEN>
Date: Thu, 01 Jun 2023 15:30:18 +0200
Message-ID: <87wn0n9uol.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Thu, 01 Jun 2023 15:43:26 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
    >> Date: Wed, 31 May 2023 19:18:22 +0300
    >> From: Eli Zaretskii <eliz@HIDDEN>
    >>=20
    >> > From: Robert Pluim <rpluim@HIDDEN>
    >> > Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> > Date: Wed, 31 May 2023 18:11:36 +0200
    >> >=20
    >> >     Eli> So there are two issues here: (a) why there's no composit=
ion in the
    >> >     Eli> first case, and (b) why does "C-u C-x =3D" says there is =
when there
    >> >     Eli> isn't.
    >> >=20
    >> > OK. I can poke around in gdb if you give me some idea of what I sh=
ould
    >> > be looking at.
    >>=20
    >> I don't really know.  I plan to just step through the code in
    >> composite.c tomorrow, unless you beat me to it.  Once we understand
    >> issue (a), I think we will also understand issue (b).

    Eli> OK, the issue is quite clear even without stepping with a debugger.

    Eli> Bottom line: we cannot support a situation where the same character
    Eli> can be composed by more than one slot in composition-function-tabl=
e.
    Eli> If there are more than a single slot for the same character, one of
    Eli> them will be tried, and the rest will be ignored (not even tried).
    Eli> In particular, if a character CH has a "forward" composition rule =
that
    Eli> starts with itself, and also has a "backward" rule (one with non-z=
ero
    Eli> look-back parameter) triggered by a different character (which sho=
uld
    Eli> follow CH), the latter rule will never be tried.

OK, that makes sense. Where would be a good place to document this?

    Eli> This is what happens in this case: the character #x1F44D has sever=
al
    Eli> rules that start with itself in emoji-zwj.el:

    Eli>   (#x1F44D .
    Eli>   ,(eval-when-compile (regexp-opt
    Eli>    '(
    Eli>    "\N{U+1F44D}\N{U+1F3FB}"
    Eli>    "\N{U+1F44D}\N{U+1F3FC}"
    Eli>    "\N{U+1F44D}\N{U+1F3FD}"
    Eli>    "\N{U+1F44D}\N{U+1F3FE}"
    Eli>    "\N{U+1F44D}\N{U+1F3FF}"
    Eli>    ))))

    Eli> and it also has a "backward" rule:

    Eli>   (set-char-table-range
    Eli>    composition-function-table
    Eli>    #xFE0F '(["\\c.\ufe0f" 1 font-shape-gstring]))

    Eli> The latter is triggered by #xFE0F and has a 1-character look-back,
    Eli> which will match #x1F44D, since its category is '.' (it's a "base
    Eli> character").  This latter rule is never tried.  Why? because the
    Eli> former rules, anchored at #X1F44D, are tried first (Emacs redisplay
    Eli> examines characters in the order of their buffer positions), and f=
ail
    Eli> to match.  When those rules fail to match, due to how the
    Eli> composition-related functions called by the display engine are
    Eli> factored, we never again consider compositions triggered by a later
    Eli> character which "cover" also #x1F44D: once that position was exami=
ned
    Eli> and the attempted composition failed, we move to the next characte=
r.
    Eli> IOW, we assume that this first set of composition rules we find fo=
r a
    Eli> given character are the only ones that could possibly be relevant =
for
    Eli> that character.

    Eli> Which means that to have #xFE0F compose correctly with Emoji
    Eli> codepoints, we should include #xFE0F in the sequences in emoji-zwj=
.el.

That=CA=BCs easy enough:

diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk
index 7d2ff6cb900..d1195ebbad8 100644
--- a/admin/unidata/emoji-zwj.awk
+++ b/admin/unidata/emoji-zwj.awk
@@ -106,7 +106,8 @@ END {
=20
      for (elt in ch)
     {
-        printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n",=
 elt, vec[elt])
+        entries =3D sprintf("%s\n\"\\N{U+%s}\\N{U+FE0F}\"", vec[elt], elt)
+        printf("(#x%s .\n,(eval-when-compile (regexp-opt\n'(\n%s\n))))\n",=
 elt, entries)
     }
      print "))"
      print "  (set-char-table-range composition-function-table"

That makes all the VS-16 sequences in
admin/unidata/emoji-variation-sequences.txt display with the emoji
font for me.

    Eli> The reason why "C-u C-x =3D" lies to us saying there's a compositi=
on
    Eli> where really there isn't is because descr-text.el uses the
    Eli> find-composition primitive, whose implementation is parallel and
    Eli> separate from that of the display-engine routines, and is structur=
ed
    Eli> differently.  So find-composition does succeed to detect the second
    Eli> rule, the one triggered by #xFE0F, which the display engine ignore=
s.
    Eli> I will think whether this can be fixed, to avoid such false positi=
ves,
    Eli> but if we accept that there can be only one set of composition rul=
es
    Eli> for a character, then we basically invoked undefined behavior here,
    Eli> and we got what we deserved.

If find-composition DTRT, could we not use it in the display engine?

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 1 Jun 2023 12:42:49 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Jun 01 08:42:49 2023
Received: from localhost ([127.0.0.1]:37224 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4hdg-0003Hv-Kc
	for submit <at> debbugs.gnu.org; Thu, 01 Jun 2023 08:42:49 -0400
Received: from eggs.gnu.org ([209.51.188.92]:52552)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q4hde-0003Hh-FQ
 for 63731 <at> debbugs.gnu.org; Thu, 01 Jun 2023 08:42:47 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q4hdY-0004GV-N1; Thu, 01 Jun 2023 08:42:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=x/ic3vCjty09id55d3pbUEvWHwVBQnRWzDr0NXp41JM=; b=ZbhP85P6WKFW
 8BDRKiH7epElgJ0O3tgDo1axeFjuBFKlEx7cPt6f5EwpYcOlCD3QsANM8ieHJosPVbXcMVVT2HEuQ
 fJ8R5nqeG9jc184ATYTFjMzS7VMhK8b9j4whFMp5ZH3KWak4dFimMg0z1AOoj04VOv2WQbCq9e2w9
 MxbWxp2H0Cj98Vp93sh53nGctkWurv6ENoH3g94XxxrBmMVOAALHZJ0h7cMbJaggj1kQPbbsqU7Il
 zz/mJMBKAYMim0f/kZi7u1cOlDqbFD/H/R52WR2ffNZrVYk84AHwUOcBeF4PlIoHXlGAdH/iEjJ8+
 Vncnf+gOBCOV4FDxNqajtQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q4hdY-0002d3-7T; Thu, 01 Jun 2023 08:42:40 -0400
Date: Thu, 01 Jun 2023 15:43:26 +0300
Message-Id: <83edmvcpzl.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: rpluim@HIDDEN
In-Reply-To: <83ilc8eapd.fsf@HIDDEN> (message from Eli Zaretskii on Wed, 31
 May 2023 19:18:22 +0300)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <87mt1rmjjg.fsf@HIDDEN>
 <83v8gfjnzj.fsf@HIDDEN> <87edn3mbr3.fsf@HIDDEN>
 <83mt1rjg69.fsf@HIDDEN> <875y8fm7x7.fsf@HIDDEN>
 <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
 <83r0qxg4q0.fsf@HIDDEN> <875y88bhvr.fsf@HIDDEN> <83ilc8eapd.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
> Date: Wed, 31 May 2023 19:18:22 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> > From: Robert Pluim <rpluim@HIDDEN>
> > Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> > Date: Wed, 31 May 2023 18:11:36 +0200
> > 
> >     Eli> So there are two issues here: (a) why there's no composition in the
> >     Eli> first case, and (b) why does "C-u C-x =" says there is when there
> >     Eli> isn't.
> > 
> > OK. I can poke around in gdb if you give me some idea of what I should
> > be looking at.
> 
> I don't really know.  I plan to just step through the code in
> composite.c tomorrow, unless you beat me to it.  Once we understand
> issue (a), I think we will also understand issue (b).

OK, the issue is quite clear even without stepping with a debugger.

Bottom line: we cannot support a situation where the same character
can be composed by more than one slot in composition-function-table.
If there are more than a single slot for the same character, one of
them will be tried, and the rest will be ignored (not even tried).
In particular, if a character CH has a "forward" composition rule that
starts with itself, and also has a "backward" rule (one with non-zero
look-back parameter) triggered by a different character (which should
follow CH), the latter rule will never be tried.

This is what happens in this case: the character #x1F44D has several
rules that start with itself in emoji-zwj.el:

  (#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}"
   ))))

and it also has a "backward" rule:

  (set-char-table-range
   composition-function-table
   #xFE0F '(["\\c.\ufe0f" 1 font-shape-gstring]))

The latter is triggered by #xFE0F and has a 1-character look-back,
which will match #x1F44D, since its category is '.' (it's a "base
character").  This latter rule is never tried.  Why? because the
former rules, anchored at #X1F44D, are tried first (Emacs redisplay
examines characters in the order of their buffer positions), and fail
to match.  When those rules fail to match, due to how the
composition-related functions called by the display engine are
factored, we never again consider compositions triggered by a later
character which "cover" also #x1F44D: once that position was examined
and the attempted composition failed, we move to the next character.
IOW, we assume that this first set of composition rules we find for a
given character are the only ones that could possibly be relevant for
that character.

Which means that to have #xFE0F compose correctly with Emoji
codepoints, we should include #xFE0F in the sequences in emoji-zwj.el.

The reason why "C-u C-x =" lies to us saying there's a composition
where really there isn't is because descr-text.el uses the
find-composition primitive, whose implementation is parallel and
separate from that of the display-engine routines, and is structured
differently.  So find-composition does succeed to detect the second
rule, the one triggered by #xFE0F, which the display engine ignores.
I will think whether this can be fixed, to avoid such false positives,
but if we accept that there can be only one set of composition rules
for a character, then we basically invoked undefined behavior here,
and we got what we deserved.

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 31 May 2023 16:17:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 31 12:17:47 2023
Received: from localhost ([127.0.0.1]:36253 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4OWB-00056q-IG
	for submit <at> debbugs.gnu.org; Wed, 31 May 2023 12:17:47 -0400
Received: from eggs.gnu.org ([209.51.188.92]:57568)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q4OW9-00056d-KD
 for 63731 <at> debbugs.gnu.org; Wed, 31 May 2023 12:17:46 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q4OW1-0003IH-Hg; Wed, 31 May 2023 12:17:40 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=cA0qfadjHprY6qWtCQA0KAg5863mDdIpo9TkqLEFQ1g=; b=XcUXUtzsGqq7
 SuW9T87TiO89Usd5P2shVJpN6a6iqjCGUAvvOcObhdz8DPZQa7P52TfFd/5DLaO/qDP6UAD2ArWAi
 tKZEHpvy3HD6UjWakDGAfcBNoYNG2oXQsXa0m4uCrxpV7mhcIYYyE2UbC8PgopG36Wg1rrutE9wRA
 foNEFFfakqk/YvB4QPwEh7hwSSJIapmTQHvxpjmdDi0bWzxPEq1su/sKBcSXHBCkVijYNgRGSUUfP
 kCB35by3rYSYQXJAzARJaAO/FOW6e/QB31nafJigWQMq3bZoU5qYZBgjoK+9IzJG9YEfvZkBnfp3s
 ury2m3Ph7Bb+ejcRJRKsCA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q4OW1-0001X8-0k; Wed, 31 May 2023 12:17:37 -0400
Date: Wed, 31 May 2023 19:18:22 +0300
Message-Id: <83ilc8eapd.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <875y88bhvr.fsf@HIDDEN> (message from Robert Pluim on Wed, 31
 May 2023 18:11:36 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <87mt1rmjjg.fsf@HIDDEN>
 <83v8gfjnzj.fsf@HIDDEN> <87edn3mbr3.fsf@HIDDEN>
 <83mt1rjg69.fsf@HIDDEN> <875y8fm7x7.fsf@HIDDEN>
 <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
 <83r0qxg4q0.fsf@HIDDEN> <875y88bhvr.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Wed, 31 May 2023 18:11:36 +0200
> 
> >>>>> On Tue, 30 May 2023 19:32:23 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     >> (set-char-table-range
>     >> composition-function-table
>     >> #x1F44D 
>     >> '(["\U0001f44d\ufe0f" 0 font-shape-gstring]))
>     >> 
>     >> gives me this, where the two '|' align perfectly.
> 
>     Eli> Here, there _is_ a composition.
> 
>     Eli> So there are two issues here: (a) why there's no composition in the
>     Eli> first case, and (b) why does "C-u C-x =" says there is when there
>     Eli> isn't.
> 
> OK. I can poke around in gdb if you give me some idea of what I should
> be looking at.

I don't really know.  I plan to just step through the code in
composite.c tomorrow, unless you beat me to it.  Once we understand
issue (a), I think we will also understand issue (b).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 31 May 2023 16:11:51 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed May 31 12:11:51 2023
Received: from localhost ([127.0.0.1]:36228 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q4OQR-0004vb-1o
	for submit <at> debbugs.gnu.org; Wed, 31 May 2023 12:11:51 -0400
Received: from mail-wr1-f53.google.com ([209.85.221.53]:55527)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q4OQM-0004vH-Td
 for 63731 <at> debbugs.gnu.org; Wed, 31 May 2023 12:11:49 -0400
Received: by mail-wr1-f53.google.com with SMTP id
 ffacd0b85a97d-309382efe13so4531674f8f.2
 for <63731 <at> debbugs.gnu.org>; Wed, 31 May 2023 09:11:46 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685549501; x=1688141501;
 h=mime-version:message-id:date:references:in-reply-to:subject:cc:to
 :from:from:to:cc:subject:date:message-id:reply-to;
 bh=pwPTges+tqO6fQ1l1/sVLQ41brhCpBeLggUvvbfcBIY=;
 b=X/pRbbCsZ7NHFzmERGPba7JxIXRgEYrlsea8bQtqQSs3SQbjvNP4BUe5Bt6CgqNRRr
 NiE/XNPlvUokSyYqFKnlfdvCheUTGzA+LnygW8WKdy6HaAjrb/hvMsnOIm8C1mr5ZGiN
 oEymAckshW1fZNd2e1gd3jYZmwLr0A8SQtqqf4/WUslxOWeGdPc2roA/JG0H2rKUwEL2
 BSoSNebmzcG08cN3S2sUAPQJyjFpsf3ajlgTYpc7J5CA6oYZF6QS5eNrjl6TQNaTaw3n
 ha6vcLI9J3ioAvmE3YJSNUWJWEH0UynLo80VVtGkf0CkLbcPGkVqDOm7Fx3BKEs1Nh7b
 BnIA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685549501; x=1688141501;
 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=pwPTges+tqO6fQ1l1/sVLQ41brhCpBeLggUvvbfcBIY=;
 b=WrwZgU/1c11mwS3DR+9TGc1fgQMZKS4pS1MBIdZQKNEPFy0lvImyGztL0fM2Tz+pa7
 rLPV+MrNBs28Yzhpcaci08ON434gKgl0AbDimkn434udRZIP3vbAXZ7xCYLwQDI0FSIk
 N3XaoI4rUcBQNiOuOhQrWTC7a1lCIKNgRxdUjp+XVUqrEuYg/idPEjpnCzH+rBP+fzIK
 uUc2TOM7iSPMVmD8ulSSq5Vk3e77T+xjM+ZyRZYAlcFa6b7dhpWWW0uWUjX51UqfpUHg
 CZ3vGVyFqorPmutL0BfhzT1s9JbyO59t3EJYFa1VynbXjYjk9xO47FzE+BQKFh28l8wI
 vR8Q==
X-Gm-Message-State: AC+VfDxVTdPI6wY69zUXyPjPj/eGxv8pcTGdVrfXBoCsRlo7dNawqq0u
 kLC2rUrEEXU93a5kK+GBDZg=
X-Google-Smtp-Source: ACHHUZ4B131sL7HdK87q1EKnoxL1iZV8jnv0aX+0v0nQKLx6t28i6DBMXQicXZG3nzqbewgbyLesqg==
X-Received: by 2002:a5d:470e:0:b0:306:2656:66d4 with SMTP id
 y14-20020a5d470e000000b00306265666d4mr4396507wrq.58.1685549500417; 
 Wed, 31 May 2023 09:11:40 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 e7-20020a5d5947000000b0030647d1f34bsm7322436wri.1.2023.05.31.09.11.39
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 31 May 2023 09:11:39 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83r0qxg4q0.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 30 May
 2023 19:32:23 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <87mt1rmjjg.fsf@HIDDEN>
 <83v8gfjnzj.fsf@HIDDEN> <87edn3mbr3.fsf@HIDDEN>
 <83mt1rjg69.fsf@HIDDEN> <875y8fm7x7.fsf@HIDDEN>
 <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
 <83r0qxg4q0.fsf@HIDDEN>
Date: Wed, 31 May 2023 18:11:36 +0200
Message-ID: <875y88bhvr.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Tue, 30 May 2023 19:32:23 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> (set-char-table-range
    >> composition-function-table
    >> #x1F44D 
    >> '(["\U0001f44d\ufe0f" 0 font-shape-gstring]))
    >> 
    >> gives me this, where the two '|' align perfectly.

    Eli> Here, there _is_ a composition.

    Eli> So there are two issues here: (a) why there's no composition in the
    Eli> first case, and (b) why does "C-u C-x =" says there is when there
    Eli> isn't.

OK. I can poke around in gdb if you give me some idea of what I should
be looking at.

Robert
-- 




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 30 May 2023 16:31:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 30 12:31:57 2023
Received: from localhost ([127.0.0.1]:34032 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q42GL-0003hB-Em
	for submit <at> debbugs.gnu.org; Tue, 30 May 2023 12:31:57 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39704)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q42GG-0003gx-OZ
 for 63731 <at> debbugs.gnu.org; Tue, 30 May 2023 12:31:56 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q42GB-0007uF-Cn; Tue, 30 May 2023 12:31:47 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=jVXwkeQlHaF/8OdXWYW7ndEvEnB5uaeU1WakyJVnpY0=; b=pOJPhF67qaQ5iCa9eOgJ
 CanevsuLC0kzc9QL2qefgcMn2CSsP0h7TrBxPAxf7esCyfYcRDCoCfljZOO55ygilvCyat6/hZ1xp
 c9PsXidrPugG8uwS10PbWk1LxVrHdq+kqOEFOO1xM/numuzEATuc0UkSU6QQ9mWlA+/RfLLWju4ry
 c39bKJqBPfbPbhhMMnPtTnivjKJoHXu+NgR0XN/m9YRU7E6cx3EHygCUD4W25UfgDG8hkkYP8LLJH
 h7/XSjG3LgCGfLvQ/0uxHFNV3qZJ71ZQ7QPuMd/kN4HtYkGzpLLwMcfsSCBPxt3f/JTFWUM0bs2UW
 dk6zAh1ZfHAGmA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q42G6-0002E6-5q; Tue, 30 May 2023 12:31:46 -0400
Date: Tue, 30 May 2023 19:32:23 +0300
Message-Id: <83r0qxg4q0.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87a5xmaqul.fsf@HIDDEN> (message from Robert Pluim on Tue, 30
 May 2023 15:30:58 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <87v8gfmqyt.fsf@HIDDEN>
 <83ilcflbua.fsf@HIDDEN> <87mt1rmjjg.fsf@HIDDEN>
 <83v8gfjnzj.fsf@HIDDEN> <87edn3mbr3.fsf@HIDDEN>
 <83mt1rjg69.fsf@HIDDEN> <875y8fm7x7.fsf@HIDDEN>
 <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN> <87a5xmaqul.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Tue, 30 May 2023 15:30:58 +0200
> 
> >>>>> On Tue, 30 May 2023 15:10:45 +0300, Eli Zaretskii <eliz@HIDDEN> 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 =' claims thereʼs
> 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 like
>     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:
> 
> There is a (very) thin space that shouldnʼt 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ʼt think
> it comes from the shaping engine).

OK, here's the scoop: there's no composition there.  "C-u C-x =" says
there is, but that's a lie: when I look in GDB at the glyphs actually
shown there, there's no composition glyphs, only the glyph for U+1F44D
followed by a glyph for U+FE0F.

> but
> 
> (set-char-table-range
>  composition-function-table
>  #x1F44D 
> '(["\U0001f44d\ufe0f" 0 font-shape-gstring]))
> 
> gives me this, where the two '|' align perfectly.

Here, there _is_ a composition.

So there are two issues here: (a) why there's no composition in the
first case, and (b) why does "C-u C-x =" says there is when there
isn't.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 30 May 2023 13:31:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 30 09:31:12 2023
Received: from localhost ([127.0.0.1]:60494 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3zRP-0006zs-IM
	for submit <at> debbugs.gnu.org; Tue, 30 May 2023 09:31:12 -0400
Received: from mail-wr1-f49.google.com ([209.85.221.49]:57777)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3zRK-0006zN-N4
 for 63731 <at> debbugs.gnu.org; Tue, 30 May 2023 09:31:09 -0400
Received: by mail-wr1-f49.google.com with SMTP id
 ffacd0b85a97d-30ae141785bso3510774f8f.3
 for <63731 <at> 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)
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)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83ttvuf29m.fsf@HIDDEN> (Eli Zaretskii's message of "Tue, 30 May
 2023 15:10:45 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <87v8gfmqyt.fsf@HIDDEN>
 <83ilcflbua.fsf@HIDDEN> <87mt1rmjjg.fsf@HIDDEN>
 <83v8gfjnzj.fsf@HIDDEN> <87edn3mbr3.fsf@HIDDEN>
 <83mt1rjg69.fsf@HIDDEN> <875y8fm7x7.fsf@HIDDEN>
 <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN> <87h6rw8y82.fsf@HIDDEN>
 <83353gipww.fsf@HIDDEN> <87edmzto0l.fsf@HIDDEN>
 <83ilcbgrxo.fsf@HIDDEN> <87zg5nb3m3.fsf@HIDDEN>
 <83bki3gpai.fsf@HIDDEN> <87sfbfazfp.fsf@HIDDEN>
 <837csrgioe.fsf@HIDDEN> <87jzwqb7r3.fsf@HIDDEN>
 <83ttvuf29m.fsf@HIDDEN>
Date: Tue, 30 May 2023 15:30:58 +0200
Message-ID: <87a5xmaqul.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable

>>>>> On Tue, 30 May 2023 15:10:45 +0300, Eli Zaretskii <eliz@HIDDEN> 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

iVBORw0KGgoAAAANSUhEUgAAAJoAAACPCAYAAAAC5MI/AAAABHNCSVQICAgIfAhkiAAAABl0RVh0
U29mdHdhcmUAZ25vbWUtc2NyZWVuc2hvdO8Dvz4AABvKSURBVHic7Z17cFzVfcc/5z73rbdkGQOO
bTCDAWMXTELTaeOQFEhoGDKTNJ1pcRJoDXRaCikpTTt9exKI0xDaxJkJhZQaGmh4DY8CiRkIDRhs
XsUPbLAtI4z1sFfe1a527957T/+4kiXtSitptY+r9H5mNKO59+7u7+5+7zm/3+/8zjkilUpJyhCP
x8udDgiYFUqjDQj4/0EgtIC6EAgtoC4EQguoC4HQAupCILSAuqA12oAZkS6knodcL+hNED4Lwmc2
2qqAOeJ/oeUPwcG/APsYCAWUECQ+Dqf+JRhLGm1dwCzxf9dZGPREBl7r5mQh+Qzs2wC5gw01LWD2
+F9o05E7BL2bkG6+0ZYEzIKFKzSAE79EZF5vtBUBs2BhC03mIfl0o60ImAX+DwZmIvs2uCOghBtt
ySjDPHTDb7Fp+/iR375tB/+0vnEW+QHfC00WBhHlLigMgjPsI6HZ9L+zk507x4+sON44a/yC77tO
URgof4GTBjdXH2MCKsb3QiM/ixRG2SYvwA/4W2hO1vPBAhY8/haa1Qsj+8teIhEggybN7/hYaBKS
T4GTKXtVYUQBEaqTTQGV4l+hFfqRgw+VvcQtWBTyJlKJ1MmogErxp9CkA0fvQlgflL0sn04jImcg
tEBofseXQpNDP4f+e8te49oFrFQatfm8OlkVMB/8J7TMW4ieW0EWyl5mpVO4robaelGdDAuYD/4Z
GZAuMvUS4uCNYJ8of6njkD+RQo2tQI0vr5OBCweZS/Jh3yBDyRNkHI1wvJm29g46WqJoDQrQ/SE0
JwsDWxFH7gQ3O+Plhcwwru2iJ1YhzI7SC6SLdDJgZ3DtLILROdKKjjDbEGq0yjfQaGwG3nyCrffc
x6PbXmLn7vdJ26VXCSNOR/diuppDk7uyVX/Kk1u/zOIaWthYoTkZ7L5tiGNbUfOvA87Mr5GSfDoN
gNa6BjfbgyykkbmjOOl9uJlDOKl3cEeO4I4cQeb6QXrfutBiqK1rCa28CX3xZ0GoNby5+pDZ9zCb
bryZzU8dZKbKPGml6e95h/6eohNaH1atDBz7iBq//7TYR59mZPc3UbKvEelsBWV2P7p0Heyc95Xm
37mD/Ls/RFpDSLs03yZUgR4yUYwwiqaClLi5neRevxah3Y/W9cmq3lN9sdh/30Z+55q72TvSaFtm
pu5Ck65Fftc/MLL3O6hqgfDibsQsRQbgWDnGekI3f6zkvFAEWshEj0bQwhFU3QAx2TGRjo078CPo
uNhHVR9zIceb3/kMn7h5G8kpzwuii85gxemLWdwZxx0+zvFjfRza9x4DubJLrdSMugpNuha5N24m
t/8HCEUS7epG0fQ5vYdbmML5ABRVwUjEMOKJKcU1EaFqqPm3ILsbYr82p89vPJKDP/4in55KZEo7
F19zKzd/9Ytctu4USh4hO8XhXQ/z9cs28J8f1sfaMeoqNOvdH5LbvwWkQ2zRIlRz7kNHxc+jEBBK
RDBbOxHqHHwumYf0SwtOaPbub/Ol6x6jv+i4ccbv8r37/5U//LXW6YtZtASnrV7N6Q3Ib9dNaG62
h9yeb4G0ibS3ooUri/yEMv41CgHRiILe2g5zEdkY1pGKbGgYcj+bN3yD7UU+WWjVRh762fe5bJF/
iwvqlLCVWAf+DXfkA8x4BLOpueJ3UiYISlVAM7RZBxIlOAvAi57AwH23sOnVokR24hLufMLfIoN6
tGhuBnn8OawDW1ANnVBbe1n/aU4IENL2xkZFBc+MuZAmIO/mzk2PkJp0LMHl372ba073t8hgvkKz
k5B7F5QoqHFOlrrKPOQ/hOFXIPU/OMd34OYHiXV1zdn5L4frgmu7iPwIIjzH9xU6xNdVzZZaY7+w
hbt2Fx38yLX83dUL42GZn9B6vw2DD4Aa8cQ21qq4ObBTgAuAM5Im1BRHi8zfC5XueDjgupAvQCh9
DFwbGUp4xx0H6TpIRyKdAq7j4toF3IKNdAEB4e5z0dSWedtTL1584L+Y7FEKLrr+ei7w32j1lFQu
NOnAiZ8D0itOLFOgqBgGWqg6+ari9EYuDwXbhUwSKbyORUoJrossClEVXUE1TIxYFFUMwoE/gRVb
FsCiMW/xzDPF+YhVXHHFsoZYUwmVCy1/COyhWV2qR2IVf0wxdr50xpNzcuTKQSgCRVdRNRPFMEb/
11EME6EoCKGM+4j5w3Dke7DsuyD8Mew7JcntbC+uaG/9GB/z+/Mxgcq/3eHXvVatnkhJITsuNCFA
17w/xTBRWrpQVG385GwYetYTXMjHrcPevewtPnbealb7PwY4SeU9fO49StOntcVKp5CO5/cJAWET
oiEwNNCa27xAQ4i5RbXSgdSLNbK4OhR6eijO+Im2NhaOhzkvoR2oohkzI12H3NB4nZqqgjkWaCoC
1HlEsyP7KXHofEQ6lSo5lmhu9mHV6vRUbusM9fzVJj80hGONJyvViZb7VyNVIZstrdFTKxkJARjc
xa7i8as6ULnQCqWVE7XCGk5Pas3AS22cRErkpANzJLS0eknkGhAOl0bs6dGavLmR5slbbuHxSl46
TyoXmpy6iqLaFLLDjAwOIl2JqoIx2kM6DkxIqSGsmStzp8XnA+vNzaVDdoXDhzk6x/dJPvVnbLyn
MeO7lQnNTtY+4pSSXPI4mb4BpOMSMiEehpDhnXYl5KwJrlUmCXYFi71EV0N4ZdXMrgVqezslUvvf
N3hjDj+B/OB+vrLhLt5vkJtRWXqj1o6zlGQH+rDSGXQNQqFxn0wVXpRp2ZC3wCp4sYAQLiJ7BAwT
RfNuSwgFoYzfoqJ73aOiaqihCMJohSW3+r/4cc0a1gDPTTyWepLHnne4dP0sfLX0L/n6Z77CI9P5
ZrZNrfunyoSmt9a23l4IQi0thE0QuSzF3n4k7M1hsR1P844cdbFcCXYeSVHLVvRcCCEwW9oIX/B9
iF9Qu/uoFq3rWLccnntv4sEBtv7zf/C366+ms9xrky/y15d/ltvfHPtODAzdwppYBGJZNZ8zULmP
VuNMuqKbiEQXMtpUelKO+2eqCrEIxCMQb4sTO6WLWPfkv+iiTiKdHUQ6O4h2dRJf0k24tQkGt3qr
Rfqe87jyytKEcurxW9h4b8+0QXdm1z38wa9/mn98eTyQOuXqzdy0uujC4WGGq2fslFQuNH2KaW7V
RghEtAVCkwfjXTkedYZN0FVQQiHU5g60UBQ9Epv0Z8TimIkEZiKBEY+jmqNdZeoVyO6p/X3MG4WP
XvdHrCkJjPt5+Jr1fOkHOxiaEHQ7ybd58G8+x+oLv8y9e8YfJO3M6/n3O67l7MVFb9TXR1/NbPeo
XGhGdxXNKINQIDa5gnZMZIoy7rsJPcTcV+RzFs76a8uv47aNy0rv0DrAT66/kCXL1nHp567kst84
h+5F5/KFv3+M9yY21h2XsuWJO1jfZHLqqUWdrdVL7wwLa86XyoUWWlo9K2ZC1ZGhGXZCrjQN5pSf
Fe8f4lyyeSt/vsqY8mym51WefuxR/vvFXQwUOVza6Z/n7l88wldXeO7O8uXFs/v3sKfGDXvlQguv
pJ5reopQ7GS9mzJW9uZOSNxWmrAVU/9wviT8Ub657QluWjvbahiT5VfdzvM7HmDDSvPk0SVnncXk
dxjgtdd6q2hoKfMQ2tnzevmc0UyvTAMvnTE2R2UkP5ptyWeQbgVBurmiejbWAdF5CZtf2MFPvvYJ
uqeNx3Q6L/x9bntyD2//9Gtc3D75dxJr13J+0Su2P/sstRwwqDx0jJwFeou3/HqdkHoEYVkIAYbh
FT3aDqQyoGsOmuxHa+lAqKpXdzYTRjfEFuCyV9GVfOH2bVxx4ys8/sBPeebVfbzfl0IkFnPG+Rfz
ySuu4vK1XUxbZtB1A7+QN9TTYkQqlSqbfY3Hy/hGh26FwQcnH5OuV+E66VPE7H74mbCGIenFRznL
a82mQjU1NDOMaupooQiKpiLU4mdKhVNuhO6NVNcFcEke2s0HE/IFzaedw5JEFT9iATK/ZFjzp3D7
HsTJZbFtBaSJdB0caxhpZ8cXV1FUNMNAj8fRzFDlA9h6BISgUJAnRaZr3kgB4ShSNbBzORzLwcpk
kCkXOI6iKeixGOHWNoSigBqGtqugawPV9zMVWpaes6BqxerB/Fo06eAOveTNRFKjoMcRSG91n0Ia
me/HyRzCTe2lcPRpZO4oeixCuL19vBJ2riR7yaTyWAVPZNEwiEjCS4GMCVhKnIKFa9s4uRHsXB47
l0dvO5foeX8F4Y94Y5yiejOyAsozvxZNqCgtHy8bEng/pcQ5sYfcW9/A+uBRHOsI0a4uVMMs88pp
CMVwhrzmzNC9dTSItkxuJYVANUxUw0SPRL0S8JEMI8kj0HIpaDOkSgKqTp3CRoHadDaRi+7BPPOP
cfIOw0c+pJCd+8CHNGJIPF0pAtAMUGZ4XoRAj8QIt4Rxht8rf21ATahrNbAwmgifv5nohf+ClDqZ
o/2MHBtEOrOvdxGjlRdybLxzDv6eFo0jlKC7bAR1LzsXio6xbCPxT72M1vGb5IYynDjcQ7a/j3xq
CCeXRbpe5Cql9JJkE/6klISaEwhFMJLHK++eZW2cUEMo0aW1vcGAKZlfMDBfXJtC38+wDvwIu/8F
ZCF5MumqqF7fODFocB3bW7XRHjdZCAg1JzCaWk7WoU1L++dh6bdqcisB5Wms0CYgc73YAy9jJ1/D
ObEbme3BtTMIt4B0RpDTFMMINQxOHuGeQItomIkmFN1AFHep5mlw5o/BPLUOdxNQjG+ENhXSHs3H
2Smmm+oktASuPYzM9uJmDuKmd6EwhBG2wcl546PRc6Hj9zyxBTQEXwst4FeHhTQHNWABEwgtoC4E
QguoC4HQAupCILSAuhAILaAu+HiZw1GkC6nnIdcLehOEz1oAS4EGFON/oeUPwcG/APuYl3xVQpD4
OJz6l2AsjBWpAxZC11kY9EQGXuvmZCH5DOzbALmDDTUtYPb4X2jTkTsEvZuQ7ky7VAb4gYUrNIAT
v0RkXm+0FQGzYGELTeYh+XSjrQiYBf4PBmYi+7a3IpBv1jgb5qEbfotN28eP/PZtO/in9Y2zyA/4
XmiyMFh+QlxhEJxhHwnNpv+dnezcOX5kxfHGWeMXfN91isIMy9w4aW/vqQBf43uhkZ9FCsO/C2oH
jOJvoTnZhbN+WUBZ/C00q9fb1aQMEgEyaNL8jo+FJiH5VNntGQEKIwqIUJ1sCqgU/wqt0I8cfKjs
JW7BopA3kcr8N5wNqC3+FJp04OhdiBn2m8qn04jIGQgtEJrf8aXQ5NDPof/este4dgErlUZtXoAL
6f0/xH9Cy7yF6LkVZKHsZVY6hetqqK0X1cmwgPngn5EB6SJTLyEO3gh2+ZWypeOQP5FCja1AjRev
MB0gc0k+7BtkKHmCjKMRjjfT1t5BR0sUrUEBuj+E5mRhYCviyJ3e3jszUMgM49ouemIVwpxiYw3p
Ip0M2BlcO4sYm+Wu6AizzVs08FcKm4E3n2DrPffx6LaX2Ln7fdJTrBstjDgd3Yvpag5N7spW/SlP
bv0yi2toYWOF5mSw+7Yhjm1Fzb8OzGJVICnJj+5VqbWuwc32eKtL5o7ipPfhZg7hpN7BHTmCO3IE
mesfX+JUi6G2riW08ib0xZ+t7X5WdSKz72E23Xgzm586yEyVedJK09/zDv09RSe0vprvBdUwodlH
n2Zk9zdRsq8R6WwFZXY/unQd7Jz3lebfuYP8uz9EWkNIuzTfJlSBHjJRjDCKpnorEeV2knv9WoR2
P1rXJ6t6T/XFYv99G/mda+5m7wLYzqruQpOuRX7XPzCy9zuoaoHw4m7ELEUG4Fi5k+u9uPnSXZCF
ItBCJno0ghaOoOpGyWJ90rFxB34EHRf7qOpjLuR48zuf4RM3byM55XlBdNEZrDh9MYs747jDxzl+
rI9D+95jINeYDTvrKjTpWuTeuJnc/h8gFEm0qxtFm9sKjG5h6k0rFFXBSMQw4okpxTURoWqo+bcg
u9v3uw+XIjn44y/y6alEprRz8TW3cvNXv8hl606h5BGyUxze9TBfv2wD//lhfawdo65Cs979Ibn9
W0A6xBYtQjXnPnRU/DwKAaFEBLO1EzGXDe1lHtIvLTih2bu/zZeue4ziPV6NM36X793/r/zhr7VO
X8yiJTht9WpOb0B+u25Cc7M95PZ8C6RNpL0VLVxZ5CeU8a9RCIhGFPTWybvfzRqrMfuLV4zcz+YN
32B7kU8WWrWRh372fS5b5N/igjolbCXWgX/DHfkAMx7BbCrdjH62KBMEpSqgGdqsA4kSnAXgRU9g
4L5b2PRqUSI7cQl3PuFvkUE9WjQ3gzz+HNaBLaiGTqitfU4raZdFgJC2NzZayRZA5kKagLybOzc9
QmrSsQSXf/durjnd3yKD+QrNTkLuXVCioMY5Weoq85D/EIZfgdT/4BzfgZsfJNbVNWfnvxyui7dr
S34EEZ7j+wod4uuqZkutsV/Ywl27iw5+5Fr+7uqF8bDMT2i934bBB0CNeGIba1Xc3Oi6s94ems5I
mlBTHC0yfy9UuuPhgOtCvgCh9DFwbWTI29nLdRyk6yAdiXQKuI6LaxdwCzbSBQSEu89FUxfOjk0v
PvBfTPYoBRddfz0X+G+0ekoqF5p04MTPAekVJ5YpUFQMAy1UnXxVcXojl4eC7UImiRRexyKlt+l6
8SZ7iq6gGiZGLIoqBuHAn8CKLQtg0Zi3eOaZ4nzEKq64YllDrKmEyoWWPwT20Kwu1SOz3TF3Zux8
6Yyn8Y1XHIQiUHQVVTNRDGP0fx3FMBGK4m3nOOYj5g/Dke/Bsu+C8Mew75Qkt7O9uKK99WN8zO/P
xwQq/3aHX5/1jiVVQ0oK2XGhCeHtcKdroBgmSkvX+AYYsw04hp71BBfyceuwdy97i4+dt5rV/o8B
TlJ5D597j+nW/q8VVjqFdDy/TwgImxANeft1as1tXqAhxNyiWulA6sUaWVwdCj09FGf8RFvbgtoT
dB5CO1BFM2ZGug65ofE6NVUFcyzQVASo84hmR/ZT4tD5iHQqVXIs0dzsw6rV6anc1hnq+atNfmjI
22BsFHWi5f7VSFXIZktr9NRKRkIABnexq3j8qg5ULrRCaeVErbCG05NaM/BSGyeREjnpwBwJLa1e
ErkGhMOlEXt6tCZvbqR58pZbeLySl86TyoUmp66iqDaF7DAjg4NIV6Kq3q7D4EWaE1JqCGvmytxp
8fnAenNz6ZBd4fBhjs7xfZJP/Rkb72nM+G5lQrOTtY84pSSXPE6mbwDpuIRMiIchZHinXQk5a4Jr
lUmCXcFiL9HVEF5ZNbNrgdreTonU/vcN3pjDTyA/uJ+vbLiL9xvkZlSW3qi14ywl2YE+rHQGXYNQ
aNwnU4UXZVo25C2wCl4sIISLyB4Bwzy5b6cQCmLCNtiK7nWPyuguxsJohSW3+r/4cc0a1gDPTTyW
epLHnne4dP0sfLX0L/n6Z77CI9P5ZrZNrfunyoSmt9a23l4IQi0thE0QuSzF3n4k7M1hsR1P844c
dbFcCXYeSVHLVvRcCCEwW9oIX/B9iF9Qu/uoFq3rWLccnpu0HfwAW//5P/jb9VfTWe61yRf568s/
y+1vjn0nBoZuYU0sArGsms8ZqNxHq3EmXdFNRKILGW0qPSnH/TNVhVgE4hGIt8WJndJFrHvyX3RR
J5HODiKdHUS7Ookv6Sbc2gSDW73VIn3PeVx5ZWlCOfX4LWy8t2faoDuz6x7+4Nc/zT++PB5InXL1
Zm5aXXTh8DDD1TN2SioXmj7FNLdqIwQi2gKhyYPxrhyPOsMm6CoooRBqcwdaKIoeiU36M2JxzEQC
M5HAiMdRzdGuMvUKZPfU/j7mjcJHr/sj1pQExv08fM16vvSDHQxNCLqd5Ns8+DefY/WFX+bePeMP
knbm9fz7Hddy9uKiN+rro69mtntULjSju4pmlEEoEJtcQTsmMkUZ992EHmLuK/I5C2f9teXXcdvG
ZaV3aB3gJ9dfyJJl67j0c1dy2W+cQ/eic/nC3z/GexMb645L2fLEHaxvMjn11KLO1uqld4aFNedL
5UILLa2eFTOh6sjQDDshV5oGc8rPivcPcS7ZvJU/X2VMeTbT8ypPP/Yo//3iLgaKHC7t9M9z9y8e
4asrPHdn+fLi2f172FPjhr1yoYVXUs81PUUodrLeTRkre3MnJG4rTdiKqX84XxL+KN/c9gQ3rZ1t
NYzJ8qtu5/kdD7BhpXny6JKzzmLyOwzw2mu9VTS0lHkI7ex5vXzOaKZXpoGXzhibozKSH8225DNI
t4Ig3VxRPRvrgOi8hM0v7OAnX/sE3dPGYzqdF/4+tz25h7d/+jUubp/8O4m1azm/6BXbn32WWg4Y
VB46Rs4CvcVbfr1OSD2CsCyEAMPwih5tB1IZ0DUHTfajtXQgVNWrO5sJoxtiC3DZq+hKvnD7Nq64
8RUef+CnPPPqPt7vSyESiznj/Iv55BVXcfnaLqYtM+i6gV/IG+ppMSKVSpXNvsbjZXyjQ7fC4IOT
j0nXq3Cd9Clidj/8TFjDkPTio5zltWZToZoamhlGNXW0UARFUxFq8TOlwik3QvdGqusCuCQP7eaD
CfmC5tPOYUmiih+xAJlfMqz5U7h9D+Lksti2AtJEug6ONYy0s+OLqygqmmGgx+NoZqjyAWw9AkJQ
KMiTItM1b6SAcBSpGti5HI7lYGUyyJQLHEfRFPRYjHBrG0JRQA1D21XQtYHq+5kKLUvPWVC1YvVg
fi2adHCHXvJmIqlR0OMIpLe6TyGNzPfjZA7hpvZSOPo0MncUPRYh3N4+Xgk7V5K9ZFJ5rIInsmgY
RCThpUDGBCwlTsHCtW2c3Ah2Lo+dy6O3nUv0vL+C8Ee8MU5RvRlZAeWZX4smVJSWj5cNCbyfUuKc
2EPurW9gffAojnWEaFcXqmGWeeU0hGI4Q15zZujeOhpEWya3kkKgGiaqYaJHol4J+EiGkeQRaLkU
tBlSJQFVp05ho0BtOpvIRfdgnvnHOHmH4SMfUsjOfeBDGjEknq4UAWgGKDM8L0KgR2KEW8I4w++V
vzagJtS1GlgYTYTP30z0wn9BSp3M0X5Gjg0indnXu4jRygs5Nt45B39Pi8YRStBdNoK6l50LRcdY
tpH4p15G6/hNckMZThzuIdvfRz41hJPLIl0vcpVSekmyCX9SSkLNCYQiGMnjlXfPsjZOqCGU6NLa
3mDAlMwvGJgvrk2h72dYB36E3f8CspA8mXRVVK9vnBg0uI7trdpoj5ssBISaExhNLSfr0Kal/fOw
9Fs1uZWA8jRWaBOQuV7sgZexk6/hnNiNzPbg2hmEW0A6I8hpimGEGgYnj3BPoEU0zEQTim4girtU
8zQ488dgnlqHuwkoxjdCmwppj+bj7BTTTXUSWgLXHkZme3EzB3HTu1AYwgjb4OS88dHoudDxe57Y
AhqCr4UW8KvDQpqDGrCACYQWUBcCoQXUhUBoAXUhEFpAXQiEFlAXAqEF1IVAaAF1IRBaQF0IhBZQ
FwKhBdSFQGgBdSEQWkBdCIQWUBf+D6sK20sb4avJAAAAAElFTkSuQmCC
--=-=-=
Content-Type: text/plain


(as an experiment, I hacked 'produce_glyphless_glyph' to skip
displaying variation selectors, and the problem disappears).

thanks

Robert

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 30 May 2023 12:10:15 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 30 08:10:15 2023
Received: from localhost ([127.0.0.1]:60347 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3yB5-0004pB-CF
	for submit <at> debbugs.gnu.org; Tue, 30 May 2023 08:10:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:40664)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3yB0-0004op-UZ
 for 63731 <at> debbugs.gnu.org; Tue, 30 May 2023 08:10:13 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3yAv-0004vi-Bc; Tue, 30 May 2023 08:10:05 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=AAVHPZy5cQbVpRNZDTSUSsVwUO/P2f7AT7tyREuBp4c=; b=QiI5pt+KHj62hpBh1fPk
 PQySy9sRcuIFaOXB70oXhdwonSk96tRKIQtnEN1A1b9eeAiMGXZUbelovjFZvLv4W6FG3t+9DA3au
 wqAUDNoU7i+RT2Ca+d8Q4NcAk4SeJUg9MuQTd0xak2Egh4nfgDHdSGSK2fQFUsw+kfmSbXyLUDTBf
 94sRIeeF1zYTABT12JRuCAZTNG3aWSyX9s4lEwZPlbzfWfl5YRfKH+bzNJP1PU+uUQz6k6PrB04C+
 op2Jnhsvv1sqv+6/1yP9+LAPjjQh0wwipaMSqw7QrxyHVp1ycahL0wY9TxpbE0CCuxnsSVtnitFGw
 q5JsenHETo9vvQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3yAu-0002w7-Qy; Tue, 30 May 2023 08:10:05 -0400
Date: Tue, 30 May 2023 15:10:45 +0300
Message-Id: <83ttvuf29m.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87jzwqb7r3.fsf@HIDDEN> (message from Robert Pluim on Tue, 30
 May 2023 09:25:52 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
 <87sfbfazfp.fsf@HIDDEN> <837csrgioe.fsf@HIDDEN>
 <87jzwqb7r3.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Tue, 30 May 2023 09:25:52 +0200
> 
> >>>>> On Mon, 29 May 2023 20:18:41 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     Eli> (set-char-table-range
>     Eli> composition-function-table
>     Eli> #xFE0F
>     Eli> '(["\\c.\ufe0f" 1 font-shape-gstring]))
>     >> 
>     Eli> so that we only see a composition if the font indeed agrees to
>     Eli> compose.  What do you see?
>     >> 
>     >> It still displays a single glyph with a thin-space. If I customize
>     >> `glyphless-char-display-control' to display hex codes for VS, then it
>     >> display a hex box.
>     >> 
>     >> So I guess that means weʼre not composing?
> 
>     Eli> What does "C-u C-x =" say in this case?
> 
> It claims itʼs composed:
> 
>              position: 146 of 251 (58%), column: 0
>             character: 👍 (displayed as 👍) (codepoint 128077, #o372115, #x1f44d)
>               charset: unicode (Unicode (ISO10646))
> code point in charset: 0x1F44D
>                script: emoji
>                syntax: w 	which means: word
>              category: .:Base
>              to input: type "C-x 8 RET 1f44d" or "C-x 8 RET THUMBS UP SIGN"
>           buffer code: #xF0 #x9F #x91 #x8D
>             file code: #xF0 #x9F #x91 #x8D (encoded by coding system utf-8-unix)
>               display: composed to form "👍️" (see below)
> 
> Composed with the following character(s) "️" using this font:
>   ftcrhb:-GOOG-Noto Color Emoji-regular-normal-normal-*-13-*-*-*-m-0-iso10646-1
> by these glyphs:
>   [0 1 128077 569 16 0 17 13 4 nil]
> with these character(s):
>   ️ (#xfe0f) VARIATION SELECTOR-16

Which means it _is_ composed.  Moreover, with Noto Color Emoji we get
a single glyph.  On my system, I have Noto Emoji, from which I get two
glyphs:

  [0 1 128077 422 17 1 15 12 2 nil]
  [0 1 65039 3 17 0 1 0 1 [0 0 0]]

(in which case I can understand why the second one is displayed as a
hex box if I customize glyphless-char-display-control).

So, given that this is the case, why is this wrong, again?  If the
font and the shaper produce two glyphs, or one glyph that looks like
two, why should we think it's an Emacs's problem?

(I verified that Emacs 28 shows the same, so this is not a recent
regression.)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 30 May 2023 07:26:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue May 30 03:26:05 2023
Received: from localhost ([127.0.0.1]:59931 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3tk2-00031v-2K
	for submit <at> debbugs.gnu.org; Tue, 30 May 2023 03:26:05 -0400
Received: from mail-wm1-f48.google.com ([209.85.128.48]:55729)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3tjz-00031R-OW
 for 63731 <at> debbugs.gnu.org; Tue, 30 May 2023 03:26:00 -0400
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-3f6e1394060so27159025e9.3
 for <63731 <at> debbugs.gnu.org>; Tue, 30 May 2023 00:25:59 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685431554; x=1688023554;
 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=Nk7RrpzHf2rM6kmDheAMENxXk2KNyBUpR+4AABzHdTU=;
 b=P+QvIw01RFKm85NoCzxTtgLiwXnISqCrVBvtb0Dlf2rEtPP4lQYgJQ/9HKzGgAactp
 SO5rg5qeoR3x7FNiDO0sukqj+GUlfz/bpGFLEihpuj7UloJ5PceoxXhxBgETFWTujZRQ
 8qbTLvrmaeh11f6QI0ebBSsCKRryzn3FclvXtm37sEmaW6cseF7W0QChOrPSGHFo7kIo
 Dlt0OASAEPKiLxkkFxOomPKGLjVoUNF30fUSkWhJJcK5O9ovkYMMxmGyerE0ZwF9h8kD
 I80L2EKD9Hs6H7Dx7mS8pqb8kO2cYyeaglrtxeWLi+fHlyyR1KUaoRZPaJ4MoXeKaQv3
 SzCA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685431554; x=1688023554;
 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=Nk7RrpzHf2rM6kmDheAMENxXk2KNyBUpR+4AABzHdTU=;
 b=Vkna8KZu4FNy4bUAaPdMHqgF7FBUkmaLhec71g7dUOKlNIlkDnrDmWPeePkfEzeQb/
 UV7D5VQcw7CGSzDoeXliHHeeYkIVQs2rvzg2Ehj//dYsKtNmmMuZhIJ8vvT9KJYv+sIJ
 pRMMP0dgbLCYq6jFOgGfuiQ1teojKj8BJelWkgEyZ8SQlrOSY/LWMBP2JUkUJ+xoKVHR
 yrvktgr9X2jZjLKlvhVAEg+ESRC+IWxcFPpZSoWakSo/kEp8BefDB2Jm1jKvVoZDs7dp
 ystgXSuQESL5FHt1yS7vQ8+o9fefP2zdc7Q4y86pgOO27HQpJYTYDZXDxz9fbXFzbcfD
 yjuw==
X-Gm-Message-State: AC+VfDxdCyjJR2HdZAnub1W+Ew9mLjKwdjrCKQ/YjKsZTMNBVLueSGOF
 irBZU3TGTTDgi48d4wmBZq0ci6M5HkE=
X-Google-Smtp-Source: ACHHUZ65qJhpvjQpQ+nYF7ov2eyY0HEFFpIaVYb4SDj+dSoV2quZFhrsE+w2EAk5igPMoE1gsMJlDw==
X-Received: by 2002:a7b:ce0f:0:b0:3f6:289:b53b with SMTP id
 m15-20020a7bce0f000000b003f60289b53bmr770125wmc.5.1685431553510; 
 Tue, 30 May 2023 00:25:53 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 z18-20020a1c4c12000000b003f423f5b659sm16400104wmf.10.2023.05.30.00.25.52
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 30 May 2023 00:25:52 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <837csrgioe.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 29 May
 2023 20:18:41 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
 <87sfbfazfp.fsf@HIDDEN> <837csrgioe.fsf@HIDDEN>
Date: Tue, 30 May 2023 09:25:52 +0200
Message-ID: <87jzwqb7r3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Mon, 29 May 2023 20:18:41 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> Date: Mon, 29 May 2023 18:13:14 +0200
    >>=20
    >> >>>>> On Mon, 29 May 2023 17:55:49 +0300, Eli Zaretskii <eliz@HIDDEN=
g> said:
    >>=20
    Eli> That's because the first one shows two glyphs that are
    Eli> "pseudo-composed": not by the font, but by our hand-made "composit=
ion"
    Eli> in compose-gstring-for-graphic.  Try this instead:
    >>=20
    Eli> (set-char-table-range
    Eli> composition-function-table
    Eli> #xFE0F
    Eli> '(["\\c.\ufe0f" 1 font-shape-gstring]))
    >>=20
    Eli> so that we only see a composition if the font indeed agrees to
    Eli> compose.  What do you see?
    >>=20
    >> It still displays a single glyph with a thin-space. If I customize
    >> `glyphless-char-display-control' to display hex codes for VS, then it
    >> display a hex box.
    >>=20
    >> So I guess that means we=CA=BCre not composing?

    Eli> What does "C-u C-x =3D" say in this case?

It claims it=CA=BCs composed:

             position: 146 of 251 (58%), column: 0
            character: =F0=9F=91=8D (displayed as =F0=9F=91=8D) (codepoint =
128077, #o372115, #x1f44d)
              charset: unicode (Unicode (ISO10646))
code point in charset: 0x1F44D
               script: emoji
               syntax: w 	which means: word
             category: .:Base
             to input: type "C-x 8 RET 1f44d" or "C-x 8 RET THUMBS UP SIGN"
          buffer code: #xF0 #x9F #x91 #x8D
            file code: #xF0 #x9F #x91 #x8D (encoded by coding system utf-8-=
unix)
              display: composed to form "=F0=9F=91=8D=EF=B8=8F" (see below)

Composed with the following character(s) "=EF=B8=8F" using this font:
  ftcrhb:-GOOG-Noto Color Emoji-regular-normal-normal-*-13-*-*-*-m-0-iso106=
46-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

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 29 May 2023 17:18:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 13:18:11 2023
Received: from localhost ([127.0.0.1]:59059 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3gVW-0002B3-V6
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 13:18:11 -0400
Received: from eggs.gnu.org ([209.51.188.92]:50028)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3gVV-0002Ap-9T
 for 63731 <at> debbugs.gnu.org; Mon, 29 May 2023 13:18:10 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3gVP-0005MR-OM; Mon, 29 May 2023 13:18:03 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=X3x41y7S0SXgAXYj+IrjGjwYKkHj9SEhMIzGEzhcV38=; b=UmTKn3bbKC62WluxKfX8
 jGujFyUTnWSN/nYJt44nX6BgdPXBSnf+wD0rkZPml7XcpkVEhFGq8TQC+6uUOmNynIj2GM9IAkS7E
 1+ugpbKU8u0+nC1+00GNMZ9b/tPhtCvMB+sc/F94rDdUhjLnL/7akasLfOuxcrwoL2wBJnIg1gKgk
 tw3bT1XWuM779TX2cy4aLA4SHVN+/QP1qw4XeNsW9/CfRc+/pr8Uq8t2l5+naNBBFG3QdTMlllh0Q
 3pDAn04nTSWc8YIFDGgqGyqJeg8hKjWUhZqCY6zmWpllaBbsEts6z9Zl1spbHlPkZb/BASqDOTjh2
 SOE1De4p6CLLbw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3gVO-0000RE-BP; Mon, 29 May 2023 13:18:03 -0400
Date: Mon, 29 May 2023 20:18:41 +0300
Message-Id: <837csrgioe.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87sfbfazfp.fsf@HIDDEN> (message from Robert Pluim on Mon, 29
 May 2023 18:13:14 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
 <87sfbfazfp.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Mon, 29 May 2023 18:13:14 +0200
> 
> >>>>> On Mon, 29 May 2023 17:55:49 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     Eli> That's because the first one shows two glyphs that are
>     Eli> "pseudo-composed": not by the font, but by our hand-made "composition"
>     Eli> in compose-gstring-for-graphic.  Try this instead:
> 
>     Eli>       (set-char-table-range
>     Eli>        composition-function-table
>     Eli>        #xFE0F
>     Eli>        '(["\\c.\ufe0f" 1 font-shape-gstring]))
> 
>     Eli> so that we only see a composition if the font indeed agrees to
>     Eli> compose.  What do you see?
> 
> It still displays a single glyph with a thin-space. If I customize
> `glyphless-char-display-control' to display hex codes for VS, then it
> display a hex box.
> 
> So I guess that means weʼre not composing?

What does "C-u C-x =" say in this case?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 29 May 2023 16:13:24 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 12:13:24 2023
Received: from localhost ([127.0.0.1]:58948 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3fUq-0006JE-1k
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 12:13:24 -0400
Received: from mail-wr1-f46.google.com ([209.85.221.46]:57594)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3fUn-0006Iw-ME
 for 63731 <at> debbugs.gnu.org; Mon, 29 May 2023 12:13:22 -0400
Received: by mail-wr1-f46.google.com with SMTP id
 ffacd0b85a97d-30ad99fa586so3153911f8f.2
 for <63731 <at> debbugs.gnu.org>; Mon, 29 May 2023 09:13:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685376796; x=1687968796;
 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=rcLzAvzU74S7JSciuq6v4b/JfV2iBA3v4VkzOZW0HVg=;
 b=Zk3FOYMJlzf7nZEMFpgShrvLY337OTsXhkBdagI+4sSyLlswpT+0W8SjtT5lpRc325
 Av9Fc1nBX9A62Z9T8kJPVawlJjfTIJI3Kot9f2d2RBuek1/vAYEFqp4cK9yHtdyli7KV
 GXx7fzxgBKpPJOJ5XqahC8Pkyi9xrId9ZXjQzsnkUELnZ336ulVzMdKt+w2bq4OGd+db
 2e5JCePTz0V+m0PFA8vmOq5AEqefq6/AFBbO8SdUfJvpLdo8TliRQ39koltFl380q2yN
 t2DTC1OtOZyELuU7giNeDVnh9BiX2CJaSTDjmiX5tOh7R5N4bM3Ek/mbP+N72WHzjSYJ
 htZQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685376796; x=1687968796;
 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=rcLzAvzU74S7JSciuq6v4b/JfV2iBA3v4VkzOZW0HVg=;
 b=hfIKabgk8Go69a/elUw1rFF1dWNNhMKO+3vDZ9hY6qcdCC6UZHKdNo4z1kJxP9GH/E
 U5kD3LKW3SErl1DNX0FJGOrnz7gTgQYz8vXl7WFNqdpnrsnQvrHBTI6GUbqdTEm4JjzE
 4C/maZlmQa+CKWW+7wrgaxfrQk5QGHpUUUBa77nro+8bvrGWwaLy1IhKeekZJi+toAde
 HFe/6vljs7xc0voErCAXdolA1KL0u/JQZLEqH6NCUJDMSrJVi1+CzrlS1uPTEKBi9mi2
 G/rS6iVT2g8agnuPm19O8FbqqKr4a/XdHKi3b5P4BiEVol65N2wNcuhyLcvsAesFRkhT
 1gyg==
X-Gm-Message-State: AC+VfDyhOZ+jrqirQCxwdstjIMxvI0L0IAZ+m+Cg1Mm2AruZ3ZkvJOqi
 mRtSe8eN2okLIm7u56wWV+Gmk3SJrHs=
X-Google-Smtp-Source: ACHHUZ6IkMcVXDmlOQFiXStH2iEUWLqgLzfGlOalECVHeUtHu4kMtYx0EAZwg40BRWkpObP0SFITjw==
X-Received: by 2002:a5d:654a:0:b0:30a:d5e2:dc6f with SMTP id
 z10-20020a5d654a000000b0030ad5e2dc6fmr8792986wrv.21.1685376795629; 
 Mon, 29 May 2023 09:13:15 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 t3-20020a1c7703000000b003f17eaae2c9sm14651341wmi.1.2023.05.29.09.13.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 May 2023 09:13:15 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83bki3gpai.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 29 May
 2023 17:55:49 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN> <83bki3gpai.fsf@HIDDEN>
Date: Mon, 29 May 2023 18:13:14 +0200
Message-ID: <87sfbfazfp.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Mon, 29 May 2023 17:55:49 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> Date: Mon, 29 May 2023 16:43:00 +0200
    >>=20
    >> >>>>> On Mon, 29 May 2023 16:58:43 +0300, Eli Zaretskii <eliz@HIDDEN=
g> said:
    >>=20
    >> >> display: composed to form "=F0=9F=91=8D=EF=B8=8F" (see below)
    >>=20
    Eli> This is not what I see.  I didn't use the above set-char-table-ran=
ge
    Eli> expression literally, but instead started "emacs -Q", and then
    Eli> evaluated in *scratch*:
    >>=20
    Eli> (set-char-table-range
    Eli> composition-function-table
    Eli> #xFE0F
    Eli> '(["\\c.\ufe0f" 1 compose-gstring-for-graphic]))
    >>=20
    Eli> After that, the sequence U+1F44D U+FE0F displays as a single glyph,
    Eli> and there's no thin space after it.  What am I missing?  Is this
    Eli> somehow specific to ftcrhb font driver or something?
    >>=20
    >> It=CA=BCs a single glyph, but that glyph contains a thin-space. I us=
ed this
    >> to check, the second 'a' is slightly offset
    >>=20
    >> =F0=9F=91=8D=EF=B8=8Fa
    >> =F0=9F=91=8Da

    Eli> That's because the first one shows two glyphs that are
    Eli> "pseudo-composed": not by the font, but by our hand-made "composit=
ion"
    Eli> in compose-gstring-for-graphic.  Try this instead:

    Eli>       (set-char-table-range
    Eli>        composition-function-table
    Eli>        #xFE0F
    Eli>        '(["\\c.\ufe0f" 1 font-shape-gstring]))

    Eli> so that we only see a composition if the font indeed agrees to
    Eli> compose.  What do you see?

It still displays a single glyph with a thin-space. If I customize
`glyphless-char-display-control' to display hex codes for VS, then it
display a hex box.

So I guess that means we=CA=BCre not composing?

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 29 May 2023 14:55:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 10:55:34 2023
Received: from localhost ([127.0.0.1]:58869 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3eHW-0001jl-Ge
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 10:55:34 -0400
Received: from eggs.gnu.org ([209.51.188.92]:37178)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3eHU-0001jS-JV
 for 63731 <at> debbugs.gnu.org; Mon, 29 May 2023 10:55:33 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3eHN-0006OR-HC; Mon, 29 May 2023 10:55:27 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=wtWpSw40l1Ta7dbpINytTF6QN8ILA3j5GXoehHJ/y8E=; b=Z7M4nAZ23INW+LzDNJHk
 YsyORbm3VwfIzQLng+NseUkNJ0Iw5ChNb5J3UZaomgXA8bng7vHUy1/2oxw8+Nq5ZIeniYFkbA/X1
 SkviwWer36QXUh6YKjSvMbey3G3I085Oc1rtj97OrxumXtiXJQsrycUkaY/yo3zPnfnWwtqFS5cut
 8Oteh1Bhyne+ap0DfV6E0QEwfgJsBitBAqC4LZjudLFnKAcgvaHcFIM+Ka4HLftyN9chklnTdiNb6
 B+MGIPTGca53jye95Y3LxKaS9QCwfU8muxuHdMRkV51Mq4ZYdXEjyrxE8YmFpVIW/jdZQhysAtAxy
 0TJHNAXV3K+etw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3eH8-0005LG-BD; Mon, 29 May 2023 10:55:25 -0400
Date: Mon, 29 May 2023 17:55:49 +0300
Message-Id: <83bki3gpai.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87zg5nb3m3.fsf@HIDDEN> (message from Robert Pluim on Mon, 29
 May 2023 16:43:00 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
 <87zg5nb3m3.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Mon, 29 May 2023 16:43:00 +0200
> 
> >>>>> On Mon, 29 May 2023 16:58:43 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     >> display: composed to form "👍️" (see below)
> 
>     Eli> This is not what I see.  I didn't use the above set-char-table-range
>     Eli> expression literally, but instead started "emacs -Q", and then
>     Eli> evaluated in *scratch*:
> 
>     Eli>       (set-char-table-range
>     Eli>        composition-function-table
>     Eli>        #xFE0F
>     Eli>        '(["\\c.\ufe0f" 1 compose-gstring-for-graphic]))
> 
>     Eli> After that, the sequence U+1F44D U+FE0F displays as a single glyph,
>     Eli> and there's no thin space after it.  What am I missing?  Is this
>     Eli> somehow specific to ftcrhb font driver or something?
> 
> Itʼs a single glyph, but that glyph contains a thin-space. I used this
> to check, the second 'a' is slightly offset
> 
> 👍️a
> 👍a

That's because the first one shows two glyphs that are
"pseudo-composed": not by the font, but by our hand-made "composition"
in compose-gstring-for-graphic.  Try this instead:

      (set-char-table-range
       composition-function-table
       #xFE0F
       '(["\\c.\ufe0f" 1 font-shape-gstring]))

so that we only see a composition if the font indeed agrees to
compose.  What do you see?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 29 May 2023 14:43:09 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 10:43:09 2023
Received: from localhost ([127.0.0.1]:58708 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3e5U-0001CZ-Ti
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 10:43:09 -0400
Received: from mail-wm1-f53.google.com ([209.85.128.53]:46289)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3e5T-0001CN-O4
 for 63731 <at> debbugs.gnu.org; Mon, 29 May 2023 10:43:08 -0400
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-3f6dfc4e01fso34936845e9.0
 for <63731 <at> debbugs.gnu.org>; Mon, 29 May 2023 07:43:07 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685371382; x=1687963382;
 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=X0dOOmKkO2Et+XLtNacZH1zNNhSgNsgybZmmCYTmbBQ=;
 b=kLHV7DqI64zts4dCXd9DSWn0mxFPh4Lkq+ooxjbfHQgYta0EPaCktIC5R5UbQFRIBC
 PQlzzJlu53KwyZ6zd5HVaJ8Zd6IcyAhdcwHcJcXTflEMdFIJ3yxXJzRwIt2ADzb3pX2Q
 5pTWEbbvxXD4mmO3rHrK6T5QYHzxCXp7sdq4LNErPUA6d2DS1kslwGMmwmfgrTC0nHXO
 zMRStNmfpuWog02YtumHYOYAk0mKoUpNAfez04GVH6fCH9vgEXP89s5Hi/sPwTy7zGzU
 qZohl3tocNkdal025uX6Ki8ubWlGudEoQ0cSNm8YvL9q2a0IEwoHQxGpcmuAcgUIirsg
 MHDA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685371382; x=1687963382;
 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=X0dOOmKkO2Et+XLtNacZH1zNNhSgNsgybZmmCYTmbBQ=;
 b=f5haRNh5HfWXJyLhqcoDpBhrIsAQtvvlm98bfKQqqZIi//2T0iFqzHWNiONp/1ctu+
 71FIQUQl6pEXObKxdffk9k8p1uic1T13omvtrHmu5iAO6HNua9QYRPYMIU0DKxfxidDH
 1Z3kTHh4cbnHHIDYAwvuQJzoRFko1RqmWIsGy7T32IvPEdOk41JTqNxFUtdXllWjdxxD
 a6fyTGAWs67yKNl4HSb2IxOn3YSX6WTAm+tRPg6uUlEEwUWs/a8KSiYfkAFm9F3m2Q7j
 pbklIdm/sq5iTEjAnTR40GEXPM/S5Svvhs9nrdclx1bOHFIh2I2qjCqdTrp/2wzw8EhU
 OLKA==
X-Gm-Message-State: AC+VfDx7ZyqdF78NsubXS+GM5+DX/moNpCaAjsFB3odCDHFLHR2p/2uH
 SyGhLsO71qXik2CXJKYsE2LGc9Y5sCk=
X-Google-Smtp-Source: ACHHUZ7VytKIUNoqb3exg/5Kcq17zd+irOPIZwZYvaq1tM00x70c2OtObJMb2mZrRgt4m00NksAEtQ==
X-Received: by 2002:a05:600c:b54:b0:3f4:2174:b28a with SMTP id
 k20-20020a05600c0b5400b003f42174b28amr9493566wmr.15.1685371381708; 
 Mon, 29 May 2023 07:43:01 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 h8-20020a1ccc08000000b003f709a7e46bsm449166wmb.46.2023.05.29.07.43.00
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 29 May 2023 07:43:01 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83ilcbgrxo.fsf@HIDDEN> (Eli Zaretskii's message of "Mon, 29 May
 2023 16:58:43 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN> <83ilcbgrxo.fsf@HIDDEN>
Date: Mon, 29 May 2023 16:43:00 +0200
Message-ID: <87zg5nb3m3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Mon, 29 May 2023 16:58:43 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> display: composed to form "=F0=9F=91=8D=EF=B8=8F" (see below)

    Eli> This is not what I see.  I didn't use the above set-char-table-ran=
ge
    Eli> expression literally, but instead started "emacs -Q", and then
    Eli> evaluated in *scratch*:

    Eli>       (set-char-table-range
    Eli>        composition-function-table
    Eli>        #xFE0F
    Eli>        '(["\\c.\ufe0f" 1 compose-gstring-for-graphic]))

    Eli> After that, the sequence U+1F44D U+FE0F displays as a single glyph,
    Eli> and there's no thin space after it.  What am I missing?  Is this
    Eli> somehow specific to ftcrhb font driver or something?

It=CA=BCs a single glyph, but that glyph contains a thin-space. I used this
to check, the second 'a' is slightly offset

=F0=9F=91=8D=EF=B8=8Fa
=F0=9F=91=8Da

This persists if I disable harfbuzz, and it behaves the same on macOS

    Eli> You are saying that the entry in composition-function-table for
    Eli> U+1F44D (and other similar characters) is used in preference to the
    Eli> entry for U+FE0F that follows it, even though there's no U+1F3FB
    Eli> etc. after it to "steal" the composition?  Did you try stepping
    Eli> through composite.c to see whether and why this is the case?

Right. It looks the the FE0F entry is ignored. I=CA=BCve not ventured into
composite.c yet.

    >> 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.

    Eli> I think we need first to understand the issue at hand better.  The=
re's
    Eli> more here than meets the eye, I think.

Absolutely

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 29 May 2023 13:58:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 09:58:16 2023
Received: from localhost ([127.0.0.1]:58646 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3dO3-0008Mz-F0
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 09:58:15 -0400
Received: from eggs.gnu.org ([209.51.188.92]:58532)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3dNy-0008MU-5u
 for 63731 <at> debbugs.gnu.org; Mon, 29 May 2023 09:58:10 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3dNs-0003d2-Mt; Mon, 29 May 2023 09:58:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=O5RcW6xnRVRqastIc96AUjNtOFqTSioySbS1yLHzDY0=; b=HyAK2jaDXOgDRyL70ZDP
 YMzNtoEDk8e/7v04yzwnW/MPXl/S9l2HvVTN+zYtERuLs5XUp8kEjcynEZvIEXs4MZvRfMB6k4CuS
 iF7QyYUeO6ZMmB078qlMRHubgxNmEWomXC2dvS8FvIOdSKrTNT4arDOMpBJDBTCbCKH7IzNppRS1x
 idWOPWgFR6ifcD1LLqPk6YV0ISDgLyx+fXGelxw4TUQLEM4EjC6b4hZxZssl4gB8ZVQHeRXiRwlJA
 diXgm/v/mNsaZ+pYfMPT+yZT8DYUHLXfXr2B91z+xqrWvAP5OpgdElWDwInev1mYeeZUEdU2bqAay
 BP4g6EHKDv1rNg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3dNs-0005Ro-61; Mon, 29 May 2023 09:58:04 -0400
Date: Mon, 29 May 2023 16:58:43 +0300
Message-Id: <83ilcbgrxo.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87edmzto0l.fsf@HIDDEN> (message from Robert Pluim on Mon, 29
 May 2023 12:44:58 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
 <87edmzto0l.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Mon, 29 May 2023 12:44:58 +0200
> 
> 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ʼt obvious. Much sadness.
> 
>     C-u C-x =:
> 
>                   display: composed to form "👍️" (see below)

This is not what I see.  I didn't use the above set-char-table-range
expression literally, but instead started "emacs -Q", and then
evaluated in *scratch*:

      (set-char-table-range
       composition-function-table
       #xFE0F
       '(["\\c.\ufe0f" 1 compose-gstring-for-graphic]))

After that, the sequence U+1F44D U+FE0F displays as a single glyph,
and there's no thin space after it.  What am I missing?  Is this
somehow specific to ftcrhb font driver or something?

> 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.

You are saying that the entry in composition-function-table for
U+1F44D (and other similar characters) is used in preference to the
entry for U+FE0F that follows it, even though there's no U+1F3FB
etc. after it to "steal" the composition?  Did you try stepping
through composite.c to see whether and why this is the 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.

I think we need first to understand the issue at hand better.  There's
more here than meets the eye, I think.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 29 May 2023 10:45:08 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon May 29 06:45:08 2023
Received: from localhost ([127.0.0.1]:57135 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3aNA-0008Li-5I
	for submit <at> debbugs.gnu.org; Mon, 29 May 2023 06:45:08 -0400
Received: from mail-wr1-f52.google.com ([209.85.221.52]:62917)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3aN7-0008Kr-Pz
 for 63731 <at> debbugs.gnu.org; Mon, 29 May 2023 06:45:06 -0400
Received: by mail-wr1-f52.google.com with SMTP id
 ffacd0b85a97d-30ae69ef78aso840563f8f.1
 for <63731 <at> 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)
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)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83353gipww.fsf@HIDDEN> (Eli Zaretskii's message of "Sun, 28 May
 2023 15:47:11 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN> <83353gipww.fsf@HIDDEN>
Date: Mon, 29 May 2023 12:44:58 +0200
Message-ID: <87edmzto0l.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Sun, 28 May 2023 15:47:11 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> 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




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 28 May 2023 12:46:42 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 08:46:41 2023
Received: from localhost ([127.0.0.1]:53550 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3FnF-0000jD-KC
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 08:46:41 -0400
Received: from eggs.gnu.org ([209.51.188.92]:39572)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3FnD-0000j0-HW
 for 63731 <at> debbugs.gnu.org; Sun, 28 May 2023 08:46:39 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3Fn8-0007xy-AE; Sun, 28 May 2023 08:46:34 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=ZVVvXi17FlXcYiRJksW8iPHsAn5RVW4ObrV8A1+3tVU=; b=hlJZOWv/sOp4
 lNwWwVKpN9GuwchUX7XkfohyDbBvTifnQ19FF81DP3W/lwrq/6TvZdBhH606jpp8o06AMYcDfatCc
 S/Yu8TUPfH0zav8tExd5Hg3Z0Y1UXFGQepFfVKRGQMKg5u28I6H59CePUeR6SvHZEfKQ5ksWg1NiD
 F3o/CUFTdRwNoz0XioqdCCdx1UgX4kF3Zmnxz8eF13ZojcoYi1oORbenOnrGnsTgzS4ahh1NIF/Yv
 2YjmxOi4miil8NyyOnU7vKmHbsic4FV4SPso+sAMtnX1GgMAJjb8mA5MYbnsFCzAUjrRBjKV9A//S
 JzZpyEFLvU0e/VvBUNVssA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3Fn7-0004E2-PN; Sun, 28 May 2023 08:46:34 -0400
Date: Sun, 28 May 2023 15:47:11 +0300
Message-Id: <83353gipww.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87h6rw8y82.fsf@HIDDEN> (message from Robert Pluim on Sun, 28
 May 2023 13:57:49 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87h6rw8y82.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Sun, 28 May 2023 13:57:49 +0200
> 
> Eli, if the 20e3 changes are too much for emacs-29, I can put them in
> master.

Yeah, I think it should go to master for now.

Otherwise, LGTM, thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 28 May 2023 12:43:30 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 08:43:30 2023
Received: from localhost ([127.0.0.1]:53435 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3FkA-0000dj-1G
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 08:43:30 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51420)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3Fk8-0000dV-PZ
 for 63731 <at> debbugs.gnu.org; Sun, 28 May 2023 08:43:29 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3Fk3-0007NN-9C; Sun, 28 May 2023 08:43:23 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=jMQaKDI/+z+AUDAjTU7PveONUVEixnLNHFYrw2DJ9i0=; b=QbPFjvOiPsuP5jgdwYXi
 Gr8XiRa88txGPKCHJPVCt1AhyzdhvEZO+xViFxEOUddUp04gI2Hf8zf7xncFZRC4A/Y4ByvRgBfqX
 515Xm7rMdC/L0fPorFl/UgqKrRmIIrgBU2NYDgI7bTXWgzD+yMYoSGyot6al3u1Am+MxDZcotMp3V
 T/k8WTq/SIrfzUa/Mha3fIccsHlIJNw6jKNgmT064X4/umzJq4Nb1fwdNc3kc2jaVMqMe6kH5YsNp
 GT4G7SMct1h8Creu2SLJDiTohUIKJnUrImcIYc0b1NxTfuZHnf8LSnmVMYgBWEOQ3/Uxme/mY0myb
 VnMu+N3ahLDqtA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3Fk2-0003yS-Og; Sun, 28 May 2023 08:43:23 -0400
Date: Sun, 28 May 2023 15:44:00 +0300
Message-Id: <835y8ciq27.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87leh88ywe.fsf@HIDDEN> (message from Robert Pluim on Sun, 28
 May 2023 13:43:13 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87sfbjknb7.fsf@HIDDEN> <83h6rzj7d0.fsf@HIDDEN>
 <87leh88ywe.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Sun, 28 May 2023 13:43:13 +0200
> 
> >>>>> On Fri, 26 May 2023 21:05:47 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     >> From: Robert Pluim <rpluim@HIDDEN>
>     >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
>     >> Date: Fri, 26 May 2023 19:35:56 +0200
>     >> 
>     >> in this case it *is* an emoji codepoint, so it displays
>     >> as emoji because of font.c, even when followed by VS-15.
> 
>     Eli> If we pass to an Emoji-capable font a sequence of a character followed
>     Eli> by VS-15, I'd expect the font to produce a glyph with the textual
>     Eli> representation of that character.
> 
> But we donʼt do that: we ask the font "give me a glyph for this codepoint".

Is that because of the composition-function-table's entry for VS-15?
Maybe we should augment that, then?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 28 May 2023 12:37:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 08:37:21 2023
Received: from localhost ([127.0.0.1]:53425 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3FeC-0000Tr-SS
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 08:37:21 -0400
Received: from eggs.gnu.org ([209.51.188.92]:44912)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q3FeA-0000Td-SP
 for 63731 <at> debbugs.gnu.org; Sun, 28 May 2023 08:37:19 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3Fe5-00065H-2N; Sun, 28 May 2023 08:37:13 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=bT7lwy5s3WeWfqYVCoF3Y/CEwYb8mwTzk9CCF3k9lXM=; b=kMZBr8BuXF+a4CpqsGXz
 C1U7dK/TMCGzE5aau5/HdhMDO50fW1WHsbbB1Xi+0IVcx6LoGc//HOtBzJGf63a8j2+Gr7FW6lLgJ
 4dxNlTH1igtxSSJU+1kl0yarwYQkNauQ8Wad+/WnEwm87cmjfWIDu85tYy7De88YSg4G1Wr74AXZ2
 3hWOvENt0gsR8VAIeCVRtLtxIjHP0gX4zFFSF37Jah1P3JPpydup/IUS1MdWaWIFLIyF83/lXVM2s
 0Wcv/XLrONeSCcJkRU4oMbrGVU1/wm4bAvZcXQDwgngdbXV8VrwzfvkNU4eqiPxVwUoz+MnbrQj4Q
 08+nF0f4EhLfoA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q3Fe4-0000jE-IT; Sun, 28 May 2023 08:37:12 -0400
Date: Sun, 28 May 2023 15:37:48 +0300
Message-Id: <838rd8iqcj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87o7m4lper.fsf@HIDDEN> (message from Robert Pluim on Sun, 28
 May 2023 12:29:48 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <83ilcfj8dy.fsf@HIDDEN> <87o7m4lper.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Sun, 28 May 2023 12:29:48 +0200
> 
> >>>>> On Fri, 26 May 2023 20:43:37 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     Eli> Actually, I don't understand why there's an issue here with font
>     Eli> selection.  Are you saying that using Noto Color Emoji with
>     Eli> CHAR+0xFE0E, when CHAR is an Emoji character, doesn't produce the
>     Eli> textual representation of CHAR?  If so, isn't that a problem with the
>     Eli> font?  I thought all we needed to do was to hand the combination to an
>     Eli> Emoji-aware font, and the font would do the rest.  Now you seem to be
>     Eli> saying that we somehow need to select a non-Emoji font?  But if so,
>     Eli> who'd guarantee that a font that cannot display Emoji will know what
>     Eli> to do with the combination CHAR+0xFE0E?
> 
> Iʼm not sure: gedit displays the text representation, and libreoffice
> displays the emoji presentation. And the google color emoji website
> only shows colour glyphs. So I think itʼs up to the application to
> select the correct font.

But what is "the correct font", when the sequence of codepoints is
CHAR+0xFE0E?  How do we identify such a font?  Do you know of a font
that produces the correct glyph for this sequence, when HarfBuzz is
used as the shaping engine?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 28 May 2023 11:57:58 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 07:57:58 2023
Received: from localhost ([127.0.0.1]:53401 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3F26-0007mI-FL
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 07:57:58 -0400
Received: from mail-wm1-f44.google.com ([209.85.128.44]:54515)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3F25-0007ly-08
 for 63731 <at> debbugs.gnu.org; Sun, 28 May 2023 07:57:57 -0400
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-3f611ccd06eso15397015e9.0
 for <63731 <at> debbugs.gnu.org>; Sun, 28 May 2023 04:57:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685275071; x=1687867071;
 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=/dtEYAbs9WfLC4lbePijmuKfENBsS/PhT1RNaHnzx08=;
 b=TmwUDTt/uJsYdPsqB0zwEw7R7Hm2ehm3MpVm1KTYJ3m4MChRgFa1fVI+PV6jOPvVsc
 aOudF8G5u30FEEf90WmDCCq+RpeD8pqT8VPnadFD59J5m/uDAzfKv4iTMJmHuwHJn5MS
 /1FEGyz6ABxN5ZdKhkxZiKH2u7+uxVRn4mrC3pzz6taKy8ifQFb7zNyTr0Z34F7n5z6Y
 AQ1aCngAsadtY3T1oUWdSZjScV4EsNpdBoXoqgXZ5LggjLg90xGazEgLi3g0gVXr22Zg
 0VMV/xZvw6jcuwqyUHkgKPFauWQBRpH8oLkiqHcohV08KTpF2ZK7JndJ3ZduhohKM5PS
 n9Zw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685275071; x=1687867071;
 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=/dtEYAbs9WfLC4lbePijmuKfENBsS/PhT1RNaHnzx08=;
 b=fhpMyKp2w67KpXlEulJQmZM86KgwXbNPLnoVLq7WvOHCyGuZ8YNYAZOTx7usC7p/S3
 Fn6CMKxMvWhuc5hi4UpHxxXhEvRhaWTdrOyOajA5eqnuVFzTEDxxrteAMMFq2vbWceJ1
 e8DXMp4eVatgJF1ujyb8M69VVJaV7XC3pjMs3rx2IHsdLnf4BYSVslPRn/RIhndwqTvW
 AiAsrRMqqyA7l2FYZKd46sC7bpyCRI/1L513kfGngw53tCvPwmEBbKu78g5YOlTpBuXW
 EDU3Us53WVJU87CV4AdewMri24fsKKSu6Lc+QGVMaBvLd8Sgcf/8sV8iiOnjywyzY/D5
 tiug==
X-Gm-Message-State: AC+VfDxrwVqxq5PqdbYTfPQmWtD+cW6eye9YHziGSYp0ZldryDwwAJCN
 Wsee3ZYh0ajDSffp0CB1yW32sHpuwzA=
X-Google-Smtp-Source: ACHHUZ4enaMeu/CZ4P+2SKOpmTqNRye1MCfifhp0MV+t8Rb350StkUC2GqbAOIBMNhuLInIIzWjj1w==
X-Received: by 2002:a7b:c858:0:b0:3f4:fc5e:fbf2 with SMTP id
 c24-20020a7bc858000000b003f4fc5efbf2mr6546863wml.8.1685275070797; 
 Sun, 28 May 2023 04:57:50 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 k10-20020a7bc40a000000b003f606869603sm14554251wmi.6.2023.05.28.04.57.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 May 2023 04:57:50 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83jzwvj94x.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 20:27:26 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
Date: Sun, 28 May 2023 13:57:49 +0200
Message-ID: <87h6rw8y82.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 20:27:26 +0300, Eli Zaretskii <eliz@HIDDEN> said:
    >>=20
    >> It=CA=BCs a change to the VS-16 entry. We did discuss it before, and
    >> decided to put it aside because the solutions all involved adding
    >> composition-function-table entries for 0-9 or similar. I don=CA=BCt
    >> remember why we didn=CA=BCt consider adding to VS-16=CA=BCs entry.
    >>=20
    >> I=CA=BCll do some more testing, and post a final version hopefully t=
his
    >> weekend sometime.

    Eli> OK, thanks.

Eli, if the 20e3 changes are too much for emacs-29, I can put them in
master.

I=CA=BCll put some notes in admin/notes/unicode as well.

diff --git c/admin/unidata/emoji-zwj.awk i/admin/unidata/emoji-zwj.awk
index 7d2ff6cb900..0b6f1267205 100644
--- c/admin/unidata/emoji-zwj.awk
+++ i/admin/unidata/emoji-zwj.awk
@@ -82,6 +82,7 @@ END {
      trigger_codepoints[11] =3D "1F574"
      trigger_codepoints[12] =3D "1F575"
      trigger_codepoints[13] =3D "1F590"
+     trigger_codepoints[14] =3D "20E3"
=20
      printf "(setq auto-composition-emoji-eligible-codepoints\n"
      printf "'("
diff --git c/lisp/composite.el i/lisp/composite.el
index fb8b76114f4..acba4e73c17 100644
--- c/lisp/composite.el
+++ i/lisp/composite.el
@@ -762,6 +762,23 @@ compose-gstring-for-dotted-circle
 	 (if (memq val '(Mn Mc Me))
 	     (set-char-table-range composition-function-table key elt)))
      unicode-category-table))
+  ;; for Emoji presentation selector
+  ;; We don't want the generic nil 0 entry because it causes display
+  ;; of an extra box for FE0F.  (Bug#63731)
+  ;; This also covers the fully-qualified enclosing keycap case.
+  (set-char-table-range
+   composition-function-table
+   #xFE0E
+   `([,(purecopy "\\c.\ufe0e") 1 compose-gstring-for-graphic]))
+  (set-char-table-range
+   composition-function-table
+   #xFE0F
+   `([,(purecopy "\\c.\ufe0f\u20e3?") 1 compose-gstring-for-graphic]))
+  ;; for unqualified enclosing keycap
+  (set-char-table-range
+   composition-function-table
+   #x20E3
+   `([,(purecopy "[#*0-9]\u20e3") 1 compose-gstring-for-graphic]))
   ;; for dotted-circle
   (aset composition-function-table #x25CC
 	`([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))
@@ -857,11 +874,10 @@ compose-gstring-for-variation-glyph
 ;; taken care of by font_range in font.c, which will check for an
 ;; emoji font for codepoints used in compositions even if they're not
 ;; emoji themselves, and thus choose the Emoji presentation for them
-;; when followed by VS-16.  VS-15 *is* handled here, because if it's
-;; handled in font_range, we end up choosing the Emoji presentation
-;; rather than the Text presentation.
+;; when followed by VS-16.  VS-15 is handled by the setup around
+;; unicode-category-table above.
 (let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
-  (set-char-table-range composition-function-table '(#xFE00 . #xFE0E) elt)
+  (set-char-table-range composition-function-table '(#xFE00 . #xFE0D) elt)
   (set-char-table-range composition-function-table '(#xE0100 . #xE01EF) el=
t))
=20
 (defun auto-compose-chars (func from to font-object string direction)



Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 28 May 2023 11:43:23 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 07:43:23 2023
Received: from localhost ([127.0.0.1]:53386 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3Eny-0007P1-R8
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 07:43:23 -0400
Received: from mail-wm1-f47.google.com ([209.85.128.47]:59549)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3Enx-0007Oo-7R
 for 63731 <at> debbugs.gnu.org; Sun, 28 May 2023 07:43:21 -0400
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-3f603ff9c02so15229385e9.2
 for <63731 <at> debbugs.gnu.org>; Sun, 28 May 2023 04:43:21 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685274195; x=1687866195;
 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=9/Ku4BZyD/hrPy0WlShM54aJ8viQJ68FWEDuJi+Oq5s=;
 b=gVWZpblwiU/IPUwfoIA5r1YIMfRaOFDbDMpvR5pdTjHsSUlb3ncUsaMN22+j8CuxGy
 YAU8AZVz0mrQbsAdpvwpdcX1Ts6fWXwPQZ8FoLBsO+TuMGyqyZ15cC8h0JDkrRO+Xbjk
 jc1Pet7o75SZh1kMHCFAjVDop+4jXTj4vDZ+oIl0hFRycXMWxC8+8k5jiwlzx8VscmL4
 4xtCF0sSMDKUACA3vdPx+yoYNXh5k6PWgbpOOtXnOnqYYPOt4rkM4LhPnow1AVxqt9/6
 LiGQUjnkTKKeQVaHYj8svqn4ukVMdeiFakTh8Nu+Vw+XAzS1l5Y7TTS+a2+Y2pcp5aEP
 5Czg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685274195; x=1687866195;
 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=9/Ku4BZyD/hrPy0WlShM54aJ8viQJ68FWEDuJi+Oq5s=;
 b=buw86b6E45qIxubCXk+keKRwGcF/AaIVbXASPFFPoiCpI5tlv0UiFl56J+bvYDKKMA
 P5PmEd0jqjCECnHMRUXD/XWZRrqKIYw3vj8rNjPHlqTPj5rin/Xbtz1rivQRH79rrMGn
 no0Zpev0yl4blTEu5Ff9+GzihRWLEE1VmiMb7LAaPyyvLMcpOZNKfGj7JXDmQ5X06tTa
 8teQQNd+lt74qvlfQCz0lAWagFBefNRchzZFJPSkf/O6l1g2mKIfTRQQ1SgkQts/xcWR
 Yj/uHpIcdrjXSjoCMQXERVPtE4XFD831j/W0tnnIrQxldDNP0/C7wk0Y1eGFtLlK+aR3
 G/YQ==
X-Gm-Message-State: AC+VfDwgKJ4Q7TOSaNwHkpUZGV9wLvhknDm1diSv/UH2JccXuoAR0S3E
 aLEpGCR9Mw/t0NbXw5yhl2s=
X-Google-Smtp-Source: ACHHUZ6UFFrBDyaS/tZsyNc0nxC8YlseSfM7zCsMQ9zfqcRD302fLZpg8zffZhoQ5DieOnLOeE4ndw==
X-Received: by 2002:a5d:45cf:0:b0:309:5029:b071 with SMTP id
 b15-20020a5d45cf000000b003095029b071mr7618932wrs.45.1685274195028; 
 Sun, 28 May 2023 04:43:15 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 s15-20020a7bc38f000000b003f6028a4c85sm14450620wmj.16.2023.05.28.04.43.14
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 May 2023 04:43:14 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83h6rzj7d0.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 21:05:47 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87sfbjknb7.fsf@HIDDEN> <83h6rzj7d0.fsf@HIDDEN>
Date: Sun, 28 May 2023 13:43:13 +0200
Message-ID: <87leh88ywe.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 21:05:47 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> Date: Fri, 26 May 2023 19:35:56 +0200
    >>=20
    >> in this case it *is* an emoji codepoint, so it displays
    >> as emoji because of font.c, even when followed by VS-15.

    Eli> If we pass to an Emoji-capable font a sequence of a character foll=
owed
    Eli> by VS-15, I'd expect the font to produce a glyph with the textual
    Eli> representation of that character.

But we don=CA=BCt do that: we ask the font "give me a glyph for this codepo=
int".

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 28 May 2023 10:29:59 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sun May 28 06:29:59 2023
Received: from localhost ([127.0.0.1]:53341 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q3Dew-0002yD-RG
	for submit <at> debbugs.gnu.org; Sun, 28 May 2023 06:29:59 -0400
Received: from mail-wm1-f52.google.com ([209.85.128.52]:42035)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q3Deu-0002xy-9Z
 for 63731 <at> debbugs.gnu.org; Sun, 28 May 2023 06:29:57 -0400
Received: by mail-wm1-f52.google.com with SMTP id
 5b1f17b1804b1-3f601c57d8dso16625735e9.0
 for <63731 <at> debbugs.gnu.org>; Sun, 28 May 2023 03:29:56 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685269790; x=1687861790;
 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=xxvrAn62D/YO0Yg0fuLv4Hv3gDhFvz//07goxeJC7SA=;
 b=ONiI+mmU26TbPLvUP+bjGLY3uVJgPAoPxRXqxP2NCTujQZXvf+1fZnaSYS+YamMq0o
 HYOJMThTMY6mm69DCdN+ayTp47ghm4i+mJwdIGVrAJN6cj7wza1jkXjW9h2DQtIEcvgW
 T3aPUXqbuTjK1cPxx6nNRTEcMIrZEyWOEc7LgnAXmTGlg9wwZ+sHeAjELKfe6pFi1Q51
 Ak64Kyse9Qx2PL6jxE8q1bmtT6u7uNy9960GR5ifTFYuKS2bo7uUhRVgznyZLIwVnX1g
 E/6ekrm8jhZJAJQpQQ3EpdlHUvZfwvKimvr2A2z/g4oPe7NXo8KnvHRxaF/PJaRGbnTn
 hLKA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685269790; x=1687861790;
 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=xxvrAn62D/YO0Yg0fuLv4Hv3gDhFvz//07goxeJC7SA=;
 b=jh7YF2PflBCPlVLNfwcLByfpvZPUCrKiyHP5nrRe7lJBE3tfgtalqRADJNedfD4DTn
 p7kTDf//N/sFS9NJ7jYWfApsz69euh3QwtbDr1lSxYh4bKw98iO8oPVqYC/EGg0buan8
 M7YjrMjn5VaGS2cCdkhg6d5HNa1bYr2qc6n4NBoN0c3uJuvRBmmWbSIf+pCGapawk7I2
 S/iVU5I3iy5kcQzaZBr1t0DGLV99NY2iqD2tA1u9pzR/p66+MKS8N2Kf3AYvwfGROk9A
 Buj73fEfJ4S2DAUDswQcSyjdTh7ubRICTwvPeLoC8etQ/cwGGzVx3kUl31/0vaYYdpkD
 +/mg==
X-Gm-Message-State: AC+VfDy1ZYn4yWOx+0eOkwTxvmQfvPBEM00NQMWXU/uYSMXH1GKb+EmG
 bKJmirQHcBWGMADS38iGync=
X-Google-Smtp-Source: ACHHUZ4LLZboDb57876y5+f91bWNCUbkt68okOgqMLb1Grm84MiyKO1BMX/Rd9JP/7RS3J4Z3jhfnw==
X-Received: by 2002:a05:600c:4455:b0:3f6:46e:b221 with SMTP id
 v21-20020a05600c445500b003f6046eb221mr4278167wmn.7.1685269790178; 
 Sun, 28 May 2023 03:29:50 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 w8-20020a1cf608000000b003f18b942338sm10781500wmc.3.2023.05.28.03.29.49
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 28 May 2023 03:29:49 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83ilcfj8dy.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 20:43:37 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <83ilcfj8dy.fsf@HIDDEN>
Date: Sun, 28 May 2023 12:29:48 +0200
Message-ID: <87o7m4lper.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 20:43:37 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
    >> Date: Fri, 26 May 2023 20:27:26 +0300
    >> From: Eli Zaretskii <eliz@HIDDEN>
    >>=20
    >> > From: Robert Pluim <rpluim@HIDDEN>
    >> > Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> > Date: Fri, 26 May 2023 18:24:02 +0200
    >> >=20
    >> > It requires something that answers the question "what font would we
    >> > use for this codepoint if it was not an emoji?". Maybe we can have=
 a
    >> > separate fontset that pretends that the emoji script is equivalent=
 to
    >> > symbol? Or invent some kind of 'text-presentation-font' property to
    >> > put somewhere?
    >>=20
    >> I'm not sure I understand why we don't select the right font by
    >> default.  Selecting a non-Emoji font for a non-Emoji codepoints shou=
ld
    >> not need any special tricks.

    Eli> Actually, I don't understand why there's an issue here with font
    Eli> selection.  Are you saying that using Noto Color Emoji with
    Eli> CHAR+0xFE0E, when CHAR is an Emoji character, doesn't produce the
    Eli> textual representation of CHAR?  If so, isn't that a problem with =
the
    Eli> font?  I thought all we needed to do was to hand the combination t=
o an
    Eli> Emoji-aware font, and the font would do the rest.  Now you seem to=
 be
    Eli> saying that we somehow need to select a non-Emoji font?  But if so,
    Eli> who'd guarantee that a font that cannot display Emoji will know wh=
at
    Eli> to do with the combination CHAR+0xFE0E?

I=CA=BCm not sure: gedit displays the text representation, and libreoffice
displays the emoji presentation. And the google color emoji website
only shows colour glyphs. So I think it=CA=BCs up to the application to
select the correct font.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 18:05:26 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 14:05:26 2023
Received: from localhost ([127.0.0.1]:50771 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2bob-0000JZ-Lb
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 14:05:25 -0400
Received: from eggs.gnu.org ([209.51.188.92]:36198)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2boZ-0000JH-1s
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 14:05:24 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2boT-0006Gl-Ht; Fri, 26 May 2023 14:05:17 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=PeoAsj+QsXBrL9mu9OOKC7qhynvBIs37vacJ5kk5RDw=; b=Odm6fhnUO1KY
 R82F1uWC82dVYcvJVSxpyAFCvevnwV6fJqrOOFzikYZxa+2qr/Fr9SIBosMxqJIdNVXDVif40J6rG
 Pwm3/0KvFtJ/OJlN6I4a6kFCAXIqWuiwc2V5tEs3klbh+ttiShBEPTxT163amCGdJcbSrTgYMcHHc
 vZBtCqw6+OVh6tPmFjXSFAoUQ3GFYVp9oSpKzOHI+F7fni4qcgZr54D6q3ZNqbLmGkGhX/KYh6mu/
 qsauUt5I2/K1SnUfA252Mkwj0UzqDdpvxacSEG6CEiEYDZ3dwg4D6RKzElA987RKyglWN3NgUz05C
 dewQLQ+zlWJWsAkddw1eaA==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2boT-0000FR-1Q; Fri, 26 May 2023 14:05:17 -0400
Date: Fri, 26 May 2023 21:05:47 +0300
Message-Id: <83h6rzj7d0.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87sfbjknb7.fsf@HIDDEN> (message from Robert Pluim on Fri, 26
 May 2023 19:35:56 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
 <87sfbjknb7.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Fri, 26 May 2023 19:35:56 +0200
> 
> in this case it *is* an emoji codepoint, so it displays
> as emoji because of font.c, even when followed by VS-15.

If we pass to an Emoji-capable font a sequence of a character followed
by VS-15, I'd expect the font to produce a glyph with the textual
representation of that character.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 17:43:14 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 13:43:14 2023
Received: from localhost ([127.0.0.1]:50752 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2bT7-0005TW-MW
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 13:43:13 -0400
Received: from eggs.gnu.org ([209.51.188.92]:43834)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2bT5-0005TJ-Kk
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 13:43:12 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2bT0-0002aR-5K; Fri, 26 May 2023 13:43:06 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=/gBAOXtK1IB0++tuD05PKw+DjykaV0hM/D2Z6KRzlyI=; b=IQu+hL/5mrAA
 QMdqvZGdxMDj8xcmOHJIvoJPcb3apPSSjbvKZkxHYWgaseZns0aLYK6xMMaAh6JD5+bwGZDfhCHrY
 8rLqz2F2LztW/J9egTaPE0IDs5HIdFjJLa9zQc8DuxWbE2Z2ameFT/RabfSXZEMevytFbTvtPEl8s
 sUf0YgI/tG2TIkAoTRilhaRaJTo7AGojqnQo1hokVL6bSmShyKb2S/ExuHYCT+ty6KdDNeNqAMxfj
 v3UXT1Kgw8qoBBhDS07ttD0+FdBfknh6YcOk76/8zde5XCKXgyWEZaxw071eKuGmmkQorTCbssfnE
 DtEO/5F9ZJL6T/aAkpAPRQ==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2bSz-0000WG-Hh; Fri, 26 May 2023 13:43:05 -0400
Date: Fri, 26 May 2023 20:43:37 +0300
Message-Id: <83ilcfj8dy.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
In-Reply-To: <83jzwvj94x.fsf@HIDDEN> (message from Eli Zaretskii on Fri, 26
 May 2023 20:27:26 +0300)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
 <83jzwvj94x.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: rpluim@HIDDEN, 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
> Date: Fri, 26 May 2023 20:27:26 +0300
> From: Eli Zaretskii <eliz@HIDDEN>
> 
> > From: Robert Pluim <rpluim@HIDDEN>
> > Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> > Date: Fri, 26 May 2023 18:24:02 +0200
> > 
> > It requires something that answers the question "what font would we
> > use for this codepoint if it was not an emoji?". Maybe we can have a
> > separate fontset that pretends that the emoji script is equivalent to
> > symbol? Or invent some kind of 'text-presentation-font' property to
> > put somewhere?
> 
> I'm not sure I understand why we don't select the right font by
> default.  Selecting a non-Emoji font for a non-Emoji codepoints should
> not need any special tricks.

Actually, I don't understand why there's an issue here with font
selection.  Are you saying that using Noto Color Emoji with
CHAR+0xFE0E, when CHAR is an Emoji character, doesn't produce the
textual representation of CHAR?  If so, isn't that a problem with the
font?  I thought all we needed to do was to hand the combination to an
Emoji-aware font, and the font would do the rest.  Now you seem to be
saying that we somehow need to select a non-Emoji font?  But if so,
who'd guarantee that a font that cannot display Emoji will know what
to do with the combination CHAR+0xFE0E?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 17:36:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 13:36:06 2023
Received: from localhost ([127.0.0.1]:50745 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2bMD-0005Ia-O3
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 13:36:06 -0400
Received: from mail-wr1-f51.google.com ([209.85.221.51]:61494)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2bMC-0005I5-1D
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 13:36:05 -0400
Received: by mail-wr1-f51.google.com with SMTP id
 ffacd0b85a97d-3090d3e9c92so941382f8f.2
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 10:36:04 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685122558; x=1687714558;
 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=ZX3scDC4kMLFA2tdmXnjGNmAjpUppkvoE/V+pmSoH7E=;
 b=dHonGyBbmHDGDfLuAQxEWm1EFNrpiatO4/Kp5/ABpQ6yGey+VQz9bzQ4Choq3cU3Kx
 PCliVj9VZO7aE07VmpNRAYGMisLCqOUJPmFWjNEDwhO3aGHQ86v4+C0FBNRtvlkg1plP
 yoDpbaMHtWvkkU+Xcmc46ejG2RIp/nQbLL0XAPC+LQsJ54B9L9udch2EJngyVCtF2yBA
 5XMjcGL2x3ZPyqTOe32riS3/e1fDM31Fv8Le2ESS0r2wgKP2Zxiiz7ULwtBPQaPwgYT/
 VbBbiJRUU2fZG/ud5NBl0iwZPzL7zA/7rzOluIYAh7hUrJ77bKVm9vMOtzBt0Dp9xxxN
 LXsA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685122558; x=1687714558;
 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=ZX3scDC4kMLFA2tdmXnjGNmAjpUppkvoE/V+pmSoH7E=;
 b=HBji/rAhvQ6EK6ZLxWWqWzb1UNERzz9vY+KCtzN6rpSQvHM82ED95Ge/S7b1vxUwEf
 8v+Odj64YCTMSlUnM7b16ltYw+TqnY5S7Gw5JNFUhSvivC+z5M9LC992Kp8IDR/ulS6K
 Dfqd+dmuSu0FOQ3OTz+mgDtv9B7gB/9aqHcjFGq5Dm4GJqR1Y2o+USx7xkSVtiT8iXN6
 FmLiMU0Dh0Es+to0GeT4Qy4Yj9/KNUTsStfdS2JJDPob/Qj9dL+jvvVVNfGpjgd/zpjx
 iaJXFqf5HrFulu+C7ygwhgOdHaUQqnyPu3UJU3x6fG1syxMVzjWk8Sen3BJ9/HlZlNpr
 uuzg==
X-Gm-Message-State: AC+VfDyPy0R+TUS/ryUu5NsGEBU/3FN7E5e+S0aUGExiA5VEjn3DJV2O
 qma/JStTMJ/13A6BvTnn0YY=
X-Google-Smtp-Source: ACHHUZ42hUiLWMKJ/+Mo/21ZREfND0oZcJugkFMbHFELJb3uQGx5CWXP3BqDFxpZ5hz2zv6IiJxHmw==
X-Received: by 2002:a5d:640c:0:b0:301:8551:446a with SMTP id
 z12-20020a5d640c000000b003018551446amr2618401wru.2.1685122557792; 
 Fri, 26 May 2023 10:35:57 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 7-20020a05600c230700b003f60a9ccd34sm5858574wmo.37.2023.05.26.10.35.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 10:35:57 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83jzwvj94x.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 20:27:26 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
 <87wn0vkqn1.fsf@HIDDEN> <83jzwvj94x.fsf@HIDDEN>
Date: Fri, 26 May 2023 19:35:56 +0200
Message-ID: <87sfbjknb7.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 20:27:26 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
    >> Date: Fri, 26 May 2023 18:24:02 +0200
    >>=20
    >> >>>>> On Fri, 26 May 2023 18:52:22 +0300, Eli Zaretskii <eliz@HIDDEN=
g> said:
    >>=20
    Eli> Anyway, I think you should install the patch on emacs-29, and we
    Eli> should then try to fix the text-representation bug with VS-15 on
    Eli> master.  (I guess it requires a change to font.c or something?)
    >>=20
    >> It requires something that answers the question "what font would we
    >> use for this codepoint if it was not an emoji?". Maybe we can have a
    >> separate fontset that pretends that the emoji script is equivalent to
    >> symbol? Or invent some kind of 'text-presentation-font' property to
    >> put somewhere?

    Eli> I'm not sure I understand why we don't select the right font by
    Eli> default.  Selecting a non-Emoji font for a non-Emoji codepoints sh=
ould
    Eli> not need any special tricks.

It doesn=CA=BCt but in this case it *is* an emoji codepoint, so it displays
as emoji because of font.c, even when followed by VS-15.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 17:27:03 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 13:27:03 2023
Received: from localhost ([127.0.0.1]:50736 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2bDS-000537-Mg
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 13:27:02 -0400
Received: from eggs.gnu.org ([209.51.188.92]:33750)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2bDQ-00052e-Vr
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 13:27:01 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2bDL-0008Gx-Gg; Fri, 26 May 2023 13:26:55 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=sG0djJcTrd8299jrodEHPv7nd5cVRxKD5Kq6yaniy9U=; b=k8xQuNP/qN+b3/Hn5dny
 Xhgn/Zisl0X6G3OIcMV8XK2e6PpkjPCNWWA4JbptFDIm6kKegAYXqoBVGcjhUbWd/8Kz0ZxMRsyIL
 LecdfNwgHJVdSRtLaLDHlxzG93+6fUiA3L69IRQqLAr17yWvVnPOiR0vS60gAKApCdMqZP3tGYC8b
 xShW2c3+H9F3iyyFDgERQXCO/jTd4MT//qRdk69HqKi6pfrU8mBD/L1s8kDuoBqbDjzLLZE9E7f7U
 SBNhxz8OHApAkO2qfydrBwam4pa1siTcLVz3/3Mq4VKC1Fum0yKczvdNrMN7t8rDjMo/l1PW+5vcf
 JedPybhc14kczw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2bDK-0001q2-MM; Fri, 26 May 2023 13:26:55 -0400
Date: Fri, 26 May 2023 20:27:26 +0300
Message-Id: <83jzwvj94x.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87wn0vkqn1.fsf@HIDDEN> (message from Robert Pluim on Fri, 26
 May 2023 18:24:02 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN> <87wn0vkqn1.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: 63731 <at> debbugs.gnu.org,  steven@HIDDEN
> Date: Fri, 26 May 2023 18:24:02 +0200
> 
> >>>>> On Fri, 26 May 2023 18:52:22 +0300, Eli Zaretskii <eliz@HIDDEN> said:
> 
>     Eli> Anyway, I think you should install the patch on emacs-29, and we
>     Eli> should then try to fix the text-representation bug with VS-15 on
>     Eli> master.  (I guess it requires a change to font.c or something?)
> 
> It requires something that answers the question "what font would we
> use for this codepoint if it was not an emoji?". Maybe we can have a
> separate fontset that pretends that the emoji script is equivalent to
> symbol? Or invent some kind of 'text-presentation-font' property to
> put somewhere?

I'm not sure I understand why we don't select the right font by
default.  Selecting a non-Emoji font for a non-Emoji codepoints should
not need any special tricks.

>     >> Yes. Iʼve also got a change that makes Emoji_Keycap_Sequence work, but
>     >> I think we can leave that for master.
> 
>     Eli> Depends on the solution, I guess.  Isn't it just a change to the
>     Eli> VS-16's entry in composition-function-table?  Or maybe a change in the
>     Eli> #x20e3's entry?  (Did we discus the Emoji_Keycap_Sequence case before?)
> 
> Itʼs a change to the VS-16 entry. We did discuss it before, and
> decided to put it aside because the solutions all involved adding
> composition-function-table entries for 0-9 or similar. I donʼt
> remember why we didnʼt consider adding to VS-16ʼs entry.
> 
> Iʼll do some more testing, and post a final version hopefully this
> weekend sometime.

OK, thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 16:24:12 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 12:24:12 2023
Received: from localhost ([127.0.0.1]:50661 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2aEd-00035T-NA
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 12:24:12 -0400
Received: from mail-wm1-f47.google.com ([209.85.128.47]:55644)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2aEb-00035D-Vb
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 12:24:10 -0400
Received: by mail-wm1-f47.google.com with SMTP id
 5b1f17b1804b1-3f6e1394060so6827275e9.3
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 09:24:09 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685118244; x=1687710244;
 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=0G4StLxcWTbgmfGH0KB0zGhpzQIxgWdZdkuVoNQDde4=;
 b=AlSIEmhW+g2ww6P+YYv5cgBQopQo9xLRTP/ng+d84luU/rFhDR9SjSFxzUga7V/nq7
 rvYChEY07F/xtZRttg0x9yhKbJFWiFX3K2f2vWlO9j5coi8aOXDa05u4eHRqtVFedgBX
 UHtfaZTuPK8zJg0lJcN2vX3aR7ukrOwj10ql2ZBBa/5kI+zvan5baZpd0r768X7zboWB
 Hu+I/BY2tjXzZTn6uRDt4MZiCpTNmFxC1ZdJh+vJBNW3F5UIeyJu714/UJsov2OdcL+9
 rQFkCbr3RChxFWsG9PA+KUEueUPAU9aRapWWQKaWy5eFLf0L9x3vIyno93t+4qPbH+ON
 lndQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685118244; x=1687710244;
 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=0G4StLxcWTbgmfGH0KB0zGhpzQIxgWdZdkuVoNQDde4=;
 b=PsHdob+Z9WeYpHkpKvE3nGULwHyiTUk+SnDgoZ3y3k/CLMeAIScOEna6AXt0VMJcUY
 qXgaUx/pmaK8bjSZt8fQv4bMx+RTaeFPHzfYYG9XRlEutfx56nq4iC0Eb23fR0sD2CFR
 vJWnvvYBGtyreI36kFHTzePzF9i842uhN+WvgfvHE1X7kr6jgpggJ5pK1T2U5B7Ag1ch
 5TivuDlcDmPi62TgIP2URmAOCWxRPfr34m1L35fgVXH8S+MvgG+6oIXjxnZNj6CAIGme
 k2oQEnaeJnMUknVQF/a9VbpkJWKOPjjY4Nosx0Pl9nX2hX1KxvTDUYxo5EbbuT/0Is6G
 qKew==
X-Gm-Message-State: AC+VfDw1W8tos41u2wilJUcRKklMAfmDLS3jBBblmbSEuz4CQySkwRh1
 Qpt+ZqSoE/F7Hlt3suXpV7c=
X-Google-Smtp-Source: ACHHUZ4c4nIzsVE9JujX0bmOTZ5VA8UayijXATaZeIjFLZB6n2UxEXt1C9ZEJkQTHtVMnNHt0TXocg==
X-Received: by 2002:adf:dc89:0:b0:306:37ac:ef8e with SMTP id
 r9-20020adfdc89000000b0030637acef8emr1815630wrj.56.1685118243689; 
 Fri, 26 May 2023 09:24:03 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 z14-20020a5d4c8e000000b003063938bf7bsm5521675wrs.86.2023.05.26.09.24.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 09:24:03 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83lehbjdjd.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 18:52:22 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
 <875y8fm7x7.fsf@HIDDEN> <83lehbjdjd.fsf@HIDDEN>
Date: Fri, 26 May 2023 18:24:02 +0200
Message-ID: <87wn0vkqn1.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 18:52:22 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: steven@HIDDEN,  63731 <at> debbugs.gnu.org
    >> Date: Fri, 26 May 2023 17:25:24 +0200
    >>=20
    Eli> Or are you saying that without including VS-15, CHAR+FE0E is not
    Eli> displayed using its text representation?
    >>=20
    >> Not quite. If I don=CA=BCt have compose-gstring-for-graphic for VS-1=
5, no
    >> composition occurs for CHAR+FE0E. With my change you=CA=BCll get
    >> composition, but it=CA=BCs still not 100% correct: CHAR+FE0E when CH=
AR is a
    >> member of the emoji script will use emoji presentation, not text, but
    >> the extra empty box will not show, so it=CA=BCs still an improvement.

    Eli> OK.  And what about CHAR+FE0E when CHAR is not an Emoji?

Then you get the (composed) text presentation (and the composed emoji
presentation when it=CA=BCs CHAR+FE0F).

    Eli> Anyway, I think you should install the patch on emacs-29, and we
    Eli> should then try to fix the text-representation bug with VS-15 on
    Eli> master.  (I guess it requires a change to font.c or something?)

It requires something that answers the question "what font would we
use for this codepoint if it was not an emoji?". Maybe we can have a
separate fontset that pretends that the emoji script is equivalent to
symbol? Or invent some kind of 'text-presentation-font' property to
put somewhere?

    Eli> Did you test the proposed change with the admin/emoji-*.txt files,=
 to
    Eli> make sure they all still display OK?
    >>=20
    >> Yes. I=CA=BCve also got a change that makes Emoji_Keycap_Sequence wo=
rk, but
    >> I think we can leave that for master.

    Eli> Depends on the solution, I guess.  Isn't it just a change to the
    Eli> VS-16's entry in composition-function-table?  Or maybe a change in=
 the
    Eli> #x20e3's entry?  (Did we discus the Emoji_Keycap_Sequence case bef=
ore?)

It=CA=BCs a change to the VS-16 entry. We did discuss it before, and
decided to put it aside because the solutions all involved adding
composition-function-table entries for 0-9 or similar. I don=CA=BCt
remember why we didn=CA=BCt consider adding to VS-16=CA=BCs entry.

I=CA=BCll do some more testing, and post a final version hopefully this
weekend sometime.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 16:03:37 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 12:03:37 2023
Received: from localhost ([127.0.0.1]:50633 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2Zuj-0002a8-Br
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 12:03:37 -0400
Received: from out1-smtp.messagingengine.com ([66.111.4.25]:38377)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <steven@HIDDEN>) id 1q2Zuh-0002Zq-Tl
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 12:03:36 -0400
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.nyi.internal (Postfix) with ESMTP id AEB3F5C0063;
 Fri, 26 May 2023 12:03:30 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Fri, 26 May 2023 12:03:30 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stebalien.com;
 h=cc:cc:content-transfer-encoding:content-type:content-type
 :date:date:from:from:in-reply-to:in-reply-to:message-id
 :mime-version:references:reply-to:sender:subject:subject:to:to;
 s=fm3; t=1685117010; x=1685203410; bh=9kZqYjRu/2d5J8rzdaC5/fch4
 DEvAZESXz/S6gBF7d0=; b=o+6AHT31EH3nr3Kp6TXl1qgN1YZoMRK52R0CbhXYz
 Q7q1K/k2wdMtmtlWuIv5vM8ccfh76teRL0Aggy8rl9Flwbsrt+8ZEy4FDKrrF+mv
 0GYvMyKzwfGljrMxYrxmcvP1IpLbOu5K0ydXzrLA6bPFDHIPnVhgqLvettE7Hs0B
 Ir7QCKAoKK3r/NMOihYJiL3yT+p8X59RJwTw54Fsggf2kx7o5G8e3Sc+9hhospzo
 XY+AZybViTOfT4JTjQd1wLeK7kwoP7fh7SoNhHk5Qb6VMjM8IHUFAdAIfiRoznKz
 oMsPoXv5pO/0Rbiy3g70FaUHWODTKnPl4RpnhNczIXb9g==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-transfer-encoding
 :content-type:content-type:date:date:feedback-id:feedback-id
 :from:from:in-reply-to:in-reply-to:message-id:mime-version
 :references:reply-to:sender:subject:subject:to:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
 1685117010; x=1685203410; bh=9kZqYjRu/2d5J8rzdaC5/fch4DEvAZESXz/
 S6gBF7d0=; b=bT4gFLJqC8laGjkpMVkMSekTBnH0G/+ao04pBfnwy19e66Qr0VS
 z1WkL58AXTGjvJiWOvewszXx3/CNYHWWuNjSK8C9dDr1CQFjUQ8ACHtYwgseOWwY
 +eB9D8sqjPCHmWtAXB2wlaafYSpJtKEDWaQ0ZW9fCZNmTXEagfcTvkfOpjBVjCvb
 +FvlpJ/A5QMnRQ6hjCm+LOfFIBEyZBmb2y52Cw/cHyVz0dAswyHCTPDu5ufmHSnk
 GqH02SNrn0Wy9ir7/IhzhfcyeNvW7ZvcNNNixjjay8rFmQk05KH8u5g31RmHajMD
 n5wkOpZObVIKdwNtAacM5A7pXpZQKEA+G3A==
X-ME-Sender: <xms:UthwZI1UXCIMo-1pGYZXdgFlRYj4cu_Qb5K6qApFK0xfSRLYTEXxYQ>
 <xme:UthwZDHKOBW4-NgF2dlC9-muwVCei-CQbCABrUUWlYHBRVrBgvo0roTcewXLloF2C
 AfKW7XxB57sDCP_e1s>
X-ME-Received: <xmr:UthwZA51YunkYXGxrbSVil6VboXnwti5FLEn0Q1Gql49odr9_eEOxdpD0IvhzwYJoYmc3VZkfLqlClD6ZPuZ5q3xW69Wspo>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeejledgleegucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhephffvvefujghffffkgggtgfesthhqredttddtjeenucfhrhhomhepufhtvghv
 vghnucetlhhlvghnuceoshhtvghvvghnsehsthgvsggrlhhivghnrdgtohhmqeenucggtf
 frrghtthgvrhhnpeefvdduheefuedvteevteeiveejgedtteeghfelgfegueehvefhffel
 iedvteeiudenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepmhgrihhlfhhroh
 hmpehsthgvvhgvnhesshhtvggsrghlihgvnhdrtghomh
X-ME-Proxy: <xmx:UthwZB3X4SXUL96jOel8b-usR19zZA0iTbRuxfREdK5BHc7TvXdl3g>
 <xmx:UthwZLFpbLndOzdF9lYuaS3r8QdIS1eY4RQ1iUagIl9WQ3BOfuvVeg>
 <xmx:UthwZK-iMMgMnfe5W-32aNkmuqbgmwROiuzjUmJxygOF-oUar9O3UQ>
 <xmx:UthwZBPJP1xfMz9L6SUkU7iXSv2lp5Gg5_W3v7BCZYxZrZ60PxMNgw>
Feedback-ID: ie8a146a7:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 May 2023 12:03:30 -0400 (EDT)
From: Steven Allen <steven@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <871qj3m7q2.fsf@HIDDEN>
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87lehbrv30.fsf@HIDDEN> <871qj3m7q2.fsf@HIDDEN>
Date: Fri, 26 May 2023 09:03:28 -0700
Message-ID: <871qj36pwv.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 63731
Cc: Eli Zaretskii <eliz@HIDDEN>, 63731 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


Robert Pluim <rpluim@HIDDEN> writes:
> Welcome to the wonderful world of Unicode. The reason the table exists
> is that there are codepoints that are *not* emoji, but they=CA=BCre part =
of
> emoji sequences, so we still need to treat them as emoji in some
> situations. Why Unicode didn=CA=BCt just make them emoji I don=CA=BCt kno=
w.

Got it... It sounds like the "correct" solution is to download the full
list (emoji-variation-sequences.txt) and filter for non-emoji
characters, but I guess that's overkill.

Thanks!




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 15:52:00 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 11:52:00 2023
Received: from localhost ([127.0.0.1]:50615 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2ZjU-00088j-H1
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 11:52:00 -0400
Received: from eggs.gnu.org ([209.51.188.92]:47298)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2ZjS-000889-ID
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 11:51:59 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2ZjN-0007PK-5R; Fri, 26 May 2023 11:51:53 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=+ibQ7ORUGTeE2ujn1igNJ63mJQ7LUZYOCCa35671ze4=; b=LsCCFcDsESKKQ19KWILQ
 p7YlGzuDqGgq/1uwfPEb1IhU5BuQYMmtqYwQCcxh6IlmvU/3aamelDe1kJ5T9fkSJsC1NmBL9FfaB
 sRD9cIDJyvPfI5iHMIJv3oCE3T3g/oLRt0yCtcKBN6I5G3hs45u9XlssRzZFdKyo2yWKvTNPlukya
 i1vWEVsYnf5ykinhfCQoxllP0klbMGJxXvdSzHfsG/VBBgOsFxviwTijKYKH0BGoQ5hbUVNkEVn/P
 mGgk4rYxcRLefOjMnxNeTl5JJ3jdTIitJmD1Ju1R0CraGyFIUitBD9i+45llVfI2fISyyzOG25jrj
 Fb8BgdJUoutIPw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2ZjL-00025t-Ln; Fri, 26 May 2023 11:51:51 -0400
Date: Fri, 26 May 2023 18:52:22 +0300
Message-Id: <83lehbjdjd.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <875y8fm7x7.fsf@HIDDEN> (message from Robert Pluim on Fri, 26
 May 2023 17:25:24 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN> <875y8fm7x7.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: steven@HIDDEN,  63731 <at> debbugs.gnu.org
> Date: Fri, 26 May 2023 17:25:24 +0200
> 
>     Eli> Or are you saying that without including VS-15, CHAR+FE0E is not
>     Eli> displayed using its text representation?
> 
> Not quite. If I donʼt have compose-gstring-for-graphic for VS-15, no
> composition occurs for CHAR+FE0E. With my change youʼll get
> composition, but itʼs still not 100% correct: CHAR+FE0E when CHAR is a
> member of the emoji script will use emoji presentation, not text, but
> the extra empty box will not show, so itʼs still an improvement.

OK.  And what about CHAR+FE0E when CHAR is not an Emoji?

Anyway, I think you should install the patch on emacs-29, and we
should then try to fix the text-representation bug with VS-15 on
master.  (I guess it requires a change to font.c or something?)

>     Eli> Did you test the proposed change with the admin/emoji-*.txt files, to
>     Eli> make sure they all still display OK?
> 
> Yes. Iʼve also got a change that makes Emoji_Keycap_Sequence work, but
> I think we can leave that for master.

Depends on the solution, I guess.  Isn't it just a change to the
VS-16's entry in composition-function-table?  Or maybe a change in the
#x20e3's entry?  (Did we discus the Emoji_Keycap_Sequence case before?)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 15:29:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 11:29:52 2023
Received: from localhost ([127.0.0.1]:50592 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2ZO3-0004ui-Jg
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 11:29:51 -0400
Received: from mail-wm1-f46.google.com ([209.85.128.46]:47170)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2ZO1-0004uO-2l
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 11:29:49 -0400
Received: by mail-wm1-f46.google.com with SMTP id
 5b1f17b1804b1-3f6d01d390bso9540525e9.2
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 08:29:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685114983; x=1687706983;
 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=xjIAPl1LsqSHt/KiXAw0ZJcMD3cF1uSTXAOt9MF1rpw=;
 b=TkjIlKxZ29k9ggFpnOhPUpX2Nfmm0Mv3SLJ0pGHi5ELbcNWtC8+bGN/A6p7ROJRn0f
 cQa1fzumkTrrs6ZhnpYS4XAEyYeLjLUQLocFsrTy3hY+4yCPPz8/1Ft6HJ8PphSSdRlH
 EsIQHK0wfy4MipjfLTOIk4W+yt0OcJ/9pDTtFXyLdpC9a8JN+pP2POqv3duRb5Dr73rp
 Fa2tCaP651geKd7Gk88OmooS7bjB3B1YfD3EQh0d6yI/jdk4c6DVns1+uAcLPOx5+m00
 q4kDwzy1qo4O9M+pFZNyp8ZPOCIuGxrR7Ez6la1/NliKLKcv7gUyRPMqe7gcK7BJZkdg
 vliw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685114983; x=1687706983;
 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=xjIAPl1LsqSHt/KiXAw0ZJcMD3cF1uSTXAOt9MF1rpw=;
 b=ABEfCTEF8Ca+TArDGy9hZTeU7fQGjX5SbrPVIvE+eSonNuLjxX1G93OcbCVEqwzIcr
 JHGNeBYuaaAjA7HWtma1MUnfWxsyunHdPpOTDL8Zh4gQF34MIF6BjFHQVzphVx1+lfrG
 YrM7D3Atr6HCTZFKM7g1qlN7+BgwGxPT6HRIygJ9Zije0j5kMTjbLavvDxUuSnorw+CN
 Q0K+HTiY40+/IGHeNWjt+yV/hZo+xmKiNZIq/mxzsdKUR5s8bixOYFDUGMVDoeZm5GXl
 SS4jl/5FBTunk8nKEZ03kCeNjqKLuyBs8oo5uxT87JwXvWkGfetq4jr9HotiDDh2378m
 BFWg==
X-Gm-Message-State: AC+VfDxBQL4OHklf3n+w6RJO0vWqsTri9VkBaTbs22rYlxyiqDHwjUto
 A+ZmeRFNiefX5moWaCmGfDIRhzYiwCY=
X-Google-Smtp-Source: ACHHUZ5KEq29JKZu9stARE2p85nTydxxRoDCVbajCkwMIQQNUM/CzrKgMdnUdCalGt8DJlJx856qNA==
X-Received: by 2002:a7b:c388:0:b0:3f5:bc8:e398 with SMTP id
 s8-20020a7bc388000000b003f50bc8e398mr1867814wmj.13.1685114982704; 
 Fri, 26 May 2023 08:29:42 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 y8-20020a7bcd88000000b003f6038faa19sm8982208wmj.19.2023.05.26.08.29.42
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 08:29:42 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Steven Allen <steven@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <87lehbrv30.fsf@HIDDEN> (Steven Allen's message of "Fri,
 26 May 2023 08:06:11 -0700")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87lehbrv30.fsf@HIDDEN>
Date: Fri, 26 May 2023 17:29:41 +0200
Message-ID: <871qj3m7q2.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: Eli Zaretskii <eliz@HIDDEN>, 63731 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 08:06:11 -0700, Steven Allen <steven@HIDDEN=
m> said:

    Steven> Eli Zaretskii <eliz@HIDDEN> writes:
    >> AFAIU, this change will populate composition-function-table for many
    >> "normal" characters, including ASCII digits and symbol/punctuation
    >> characters from the 0x2xxx blocks.  E.g., after you build Emacs with
    >> this patch, what do the following evaluations yield:
    >>=20
    >> M-: (aref composition-function-table ?0) RET
    >> M-: (aref composition-function-table #x2122) RET
    >>=20
    >> If they yield non-nil values, it could mean dramatic slowdown of
    >> redisplay with these characters.

    Steven> Both of these yield nil with this patch applied (and I haven't =
noticed
    Steven> any performance regressions). But it looks like you and Robert =
have a
    Steven> better patch so I'll leave you to it.

It=CA=BCs smaller, that=CA=BCs for sure. And it will definitely be faster.

    Steven> However, I'd like to draw your attention to the existing hard-c=
oded
    Steven> VS-16 table here:

    Steven> https://git.savannah.gnu.org/cgit/emacs.git/tree/admin/unidata/=
emoji-zwj.awk?h=3D4b3de748b0b04407d2492500c77905de56de1180#n72

    Steven> It feels like this should either be the full table (the one in =
the
    Steven> patch) or it shouldn't exist at all. But again, I'm not the exp=
ert here.

Welcome to the wonderful world of Unicode. The reason the table exists
is that there are codepoints that are *not* emoji, but they=CA=BCre part of
emoji sequences, so we still need to treat them as emoji in some
situations. Why Unicode didn=CA=BCt just make them emoji I don=CA=BCt know.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 15:25:35 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 11:25:35 2023
Received: from localhost ([127.0.0.1]:50586 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2ZJu-0004nh-PE
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 11:25:35 -0400
Received: from mail-wm1-f44.google.com ([209.85.128.44]:53385)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2ZJs-0004nS-V5
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 11:25:33 -0400
Received: by mail-wm1-f44.google.com with SMTP id
 5b1f17b1804b1-3f68fc6b479so9855225e9.2
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 08:25:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685114727; x=1687706727;
 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=aS7qC2vtTrRa/V9UJoUnI4y3Ju8IFunDxOvvkfqfP6g=;
 b=Y+607IWgW7dhD+C3/bS+5ZEuD5loH9OO7SfztLIqP6UZ9F/lDMrFaZVMG22RfME5Wm
 Txzem/GRDwc4RzDCf/f3TaaS6nBle3tffzf2l/CQ0fkUGm0j8TrNh3xe1Q6Czv2RTPy5
 zZxra7eytYo8/c+Rgb6ppbw1XyyUj6fgKY/XQI8bwRJnW/PXqqOdzzouupZrzyHp0Tn6
 fXNS+N2gslUMfxZU/ImxbhvLCO3zfbolbakb7egej/toJ+UJTyVpDiykYV6O4QuZmnVn
 1+wafQWs3jq+KNWgCw5+g1iDQO+VzP56ltVFYlB1IJfk+7ljojlTCh6PM7kgquiPod7u
 ebDg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685114727; x=1687706727;
 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=aS7qC2vtTrRa/V9UJoUnI4y3Ju8IFunDxOvvkfqfP6g=;
 b=GMdPNT8zb+P2aXYPwmcYNbcsrSSsbCVM8cBWMv+aU1J+MMG+x0nnbqJ1x8I4MNKHW2
 JdXJyZp3hSPAzZ+/7S9IDKQ91EgBU/Nx/YtDm9n9s8jWoAHCm7yGfMfslAzd93y0JS5u
 D0/4rVAWqD/bVqMyPoB83N5Cjhv62DjMaxSaRi7mHWAiRTTl4aWaA2EOYKlA4c7ZQMLO
 GwEkNY0ntv+jtmKwjS5/LWTvZ7PHEeKppvrkli/VGuywchk51HN4IhoIyWtjaF6Dd9Hj
 HyzUCOKC+AE6fDUMRy6IsJ9sqon7oeXqDhWlcieMgMgxyZrtD7Wreng+Up7aoDX22CKs
 M5Vg==
X-Gm-Message-State: AC+VfDzc/eBVYP7VT8GSIvBjn4NO8/Et980qSIyP9iZn6iRO6ZTVdq11
 n6t4bTWPuWpEuSGuFgB9TIpGzIuolIM=
X-Google-Smtp-Source: ACHHUZ6SA/JL+vfDljND6JsqrLP57a80eb2/IkNEqw/KCGVeDjv+fXbjQHDZ5YHJpW8ZC00Azxd6xg==
X-Received: by 2002:a05:600c:28f:b0:3f6:76e:604b with SMTP id
 15-20020a05600c028f00b003f6076e604bmr2015939wmk.0.1685114726470; 
 Fri, 26 May 2023 08:25:26 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 e21-20020a05600c219500b003f604ca479esm9128562wme.3.2023.05.26.08.25.25
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 08:25:25 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83mt1rjg69.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 17:55:26 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN> <83mt1rjg69.fsf@HIDDEN>
Date: Fri, 26 May 2023 17:25:24 +0200
Message-ID: <875y8fm7x7.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 17:55:26 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: steven@HIDDEN,  63731 <at> debbugs.gnu.org
    >> Date: Fri, 26 May 2023 16:02:40 +0200
    >>=20
    Eli> What does this issue mean for the other VS-n characters, though?
    Eli> Should we perhaps install something similar for them as well?
    >>=20
    >> For VS-15 maybe? The following gets me text-presentation composition
    >> with CHAR+FE0E and emoji-presentation with CHAR+FE0F

    Eli> Actually, I forgot about compose-gstring-for-variation-glyph.  My
    Eli> question was actually whether the general setting in

    Eli>   (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-grap=
hic]
    Eli> 	       [nil 0 compose-gstring-for-graphic])))
    Eli>     (map-char-table
    Eli>      #'(lambda (key val)
    Eli> 	 (if (memq val '(Mn Mc Me))
    Eli> 	     (set-char-table-range composition-function-table key elt)))
    Eli>      unicode-category-table))

    Eli> affects also the VS-n selectors.  But since the latter setting of

    Eli>   (let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
    Eli>     (set-char-table-range composition-function-table '(#xFE00 . #x=
FE0E) elt)
    Eli>     (set-char-table-range composition-function-table '(#xE0100 . #=
xE01EF) elt))

    Eli> takes care of all the VS-n selectors except VS-16, and your patch =
now
    Eli> will take care of VS-16, it sounds like we don't need to care about
    Eli> other VS-n selectors?

    Eli> Or are you saying that without including VS-15, CHAR+FE0E is not
    Eli> displayed using its text representation?

Not quite. If I don=CA=BCt have compose-gstring-for-graphic for VS-15, no
composition occurs for CHAR+FE0E. With my change you=CA=BCll get
composition, but it=CA=BCs still not 100% correct: CHAR+FE0E when CHAR is a
member of the emoji script will use emoji presentation, not text, but
the extra empty box will not show, so it=CA=BCs still an improvement.

    Eli> Did you test the proposed change with the admin/emoji-*.txt files,=
 to
    Eli> make sure they all still display OK?

Yes. I=CA=BCve also got a change that makes Emoji_Keycap_Sequence work, but
I think we can leave that for master.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 15:06:21 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 11:06:21 2023
Received: from localhost ([127.0.0.1]:50548 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2Z1J-0004GT-3a
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 11:06:21 -0400
Received: from out1-smtp.messagingengine.com ([66.111.4.25]:36883)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <steven@HIDDEN>) id 1q2Z1H-0004GE-Fp
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 11:06:19 -0400
Received: from compute4.internal (compute4.nyi.internal [10.202.2.44])
 by mailout.nyi.internal (Postfix) with ESMTP id 6D9115C00FD;
 Fri, 26 May 2023 11:06:14 -0400 (EDT)
Received: from mailfrontend2 ([10.202.2.163])
 by compute4.internal (MEProxy); Fri, 26 May 2023 11:06:14 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stebalien.com;
 h=cc:cc:content-type:content-type:date:date:from:from
 :in-reply-to:in-reply-to:message-id:mime-version:references
 :reply-to:sender:subject:subject:to:to; s=fm3; t=1685113574; x=
 1685199974; bh=LyLYOPL4AT490ZcSa8wUFwc+l/XtxLibrgFGY1k8hL0=; b=K
 EMedvAEp16gOCmkZuMDNwKryNR1t3OounAI3A5wd8e4cNyZ5clxKIGc8p136EaG9
 K0K1LygGiFjKtcGdWQETD8XiT61KzFHrcEmGVpEFOV5jQ3ZN0UNaA/iUvtTZT3NT
 pvq4uOjLu/Dr7pyqNSu3m741O7keaXPU8ykAvPHVYOhHfbyoWrZeLxieB0JYyKfa
 wMZn+HPQNCz7V03Wry6QjdDlHQGcf3/c1WUdO3C5GjQ1crF9ncipW5Vos0anSzfr
 mGXwwLEAUBiZBn6GOjMQ+AiQhu6+pYMpFG5wBjlLz3HB99tV9xz9K21tKMWhirLd
 u/GOeEngpv/jp4+dpIPVA==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to
 :message-id:mime-version:references:reply-to:sender:subject
 :subject:to:to:x-me-proxy:x-me-proxy:x-me-sender:x-me-sender
 :x-sasl-enc; s=fm1; t=1685113574; x=1685199974; bh=LyLYOPL4AT490
 ZcSa8wUFwc+l/XtxLibrgFGY1k8hL0=; b=VweSduGIJl/NT9bLv1x8oEOCZKMRs
 /lwqRCFAJ/9Ojij+VtY0erYEeJnCQveDOhZDQ4AFmFaTxl+9Eyn0uCMw7X9HoaK0
 PQRN3Wr7IUwlSrh6TksQ1vcIJ3eRvZ5PVifHSKuIuHoQ3eeIm1jVJvMuC5mJupzF
 DhI+ozx1At/xlwzx92cput5C/a+iMvPyLiEx83vHUvjsdrbgbUUnKlibogQPSKyK
 qxZxGjxrWKSOPBEGemtjkOjWhriSD865w4/I+6i4JDyFHPgRp3h9vzPAaYllVdbH
 IT9x9iPlir++xQGQO+hkGTd+jLSJV/JMyiblXt+5/q3SKq/lm4NWGUqTg==
X-ME-Sender: <xms:5cpwZL_rzNHMt_CoGDa5812yFyoaUg7mRUCHMo3xDXxg7YWBNypoyQ>
 <xme:5cpwZHsWGK5Ult_XFfpL-2VzAp6IDrOZZesBInWt66lqb_x5I2QOkniuWv1OPqzIP
 FwmTflfBGmsYXG2zh8>
X-ME-Received: <xmr:5cpwZJBsOB-B47yd6mamcd02YEcPuECQO5APcw0wpN_P74cnbmYb58Mrk4u-t7-LTMhS-Bp2jCovGSMenWXY-YxgGhSogGE>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeejledgkeefucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne
 cujfgurhephffvvefujghffffkgggtsehttdertddttddtnecuhfhrohhmpefuthgvvhgv
 nhcutehllhgvnhcuoehsthgvvhgvnhesshhtvggsrghlihgvnhdrtghomheqnecuggftrf
 grthhtvghrnhepjefffeduvdeifeegveekgefgleehhfffgeelteffteeutdetgfegffeh
 ueefkedtnecuffhomhgrihhnpehgnhhurdhorhhgnecuvehluhhsthgvrhfuihiivgeptd
 enucfrrghrrghmpehmrghilhhfrhhomhepshhtvghvvghnsehsthgvsggrlhhivghnrdgt
 ohhm
X-ME-Proxy: <xmx:5cpwZHcFMzbc-8xcY53p0AO9ymEIWqbgX215PiG0LqZ2agHIotg5gA>
 <xmx:5cpwZAMCmmJXqcTzNj4FyFoO4KQIVRc0trjQAYeRAS68_ACFe03LMA>
 <xmx:5cpwZJkpDE8WqdRKlor0BwtVWNTZTKd1V-NIMpIczxHRMrR5OwoSrQ>
 <xmx:5spwZK2ogntteeiWqay_gEfe4Jnv29CxlxYK-MPmMk5luaSkKi1HYw>
Feedback-ID: ie8a146a7:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA; Fri,
 26 May 2023 11:06:13 -0400 (EDT)
From: Steven Allen <steven@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>, Robert Pluim <rpluim@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83pm6nlhll.fsf@HIDDEN>
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
Date: Fri, 26 May 2023 08:06:11 -0700
Message-ID: <87lehbrv30.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: -0.7 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.7 (-)


Eli Zaretskii <eliz@HIDDEN> writes:
> AFAIU, this change will populate composition-function-table for many
> "normal" characters, including ASCII digits and symbol/punctuation
> characters from the 0x2xxx blocks.  E.g., after you build Emacs with
> this patch, what do the following evaluations yield:
>
>   M-: (aref composition-function-table ?0) RET
>   M-: (aref composition-function-table #x2122) RET
>
> If they yield non-nil values, it could mean dramatic slowdown of
> redisplay with these characters.

Both of these yield nil with this patch applied (and I haven't noticed
any performance regressions). But it looks like you and Robert have a
better patch so I'll leave you to it.

However, I'd like to draw your attention to the existing hard-coded
VS-16 table here:

https://git.savannah.gnu.org/cgit/emacs.git/tree/admin/unidata/emoji-zwj.awk?h=4b3de748b0b04407d2492500c77905de56de1180#n72

It feels like this should either be the full table (the one in the
patch) or it shouldn't exist at all. But again, I'm not the expert here.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 14:55:06 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 10:55:06 2023
Received: from localhost ([127.0.0.1]:50538 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2YqP-0003qh-RB
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 10:55:06 -0400
Received: from eggs.gnu.org ([209.51.188.92]:51324)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2YqO-0003q5-30
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 10:55:04 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2YqI-0004lQ-LR; Fri, 26 May 2023 10:54:58 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date:
 mime-version; bh=rWf5UOccMJV0zEJZBg+20A04iSuMOFcVkTKV8XnCziQ=; b=XjP4RZs7yYI0
 82WDVUOmgpwHswz7sym9YngiXvvPwUJYaYjYAad8uscVnEqY3DQlOSgIfAYjRXjWpUnukSnsrVNbP
 bU6hdcnV73k94z80PsShd/XUcSbQE5qfR4bcIh8BPESDI3sXh25/yrpyNWpOYgid0qfPoRmuOu8Zj
 QlVrao6llwfFpNpa9pRaVE/9CFn7/lkjGAqOzT2A5G5uIC+EsrCwc6VT+zbqssF3s3vyX8KYvO9xW
 R6X8XDLH1q3hbmkRBvQyAMJO/MVibpdMXL23Q5F+Nhze+mGPBw6TFfY1cEI4uHfgRFxi4bjx0Jioj
 cyyjf4PVF+HZDoI7FXkLcg==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2YqE-00060p-Ja; Fri, 26 May 2023 10:54:57 -0400
Date: Fri, 26 May 2023 17:55:26 +0300
Message-Id: <83mt1rjg69.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87edn3mbr3.fsf@HIDDEN> (message from Robert Pluim on Fri, 26
 May 2023 16:02:40 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
 <87edn3mbr3.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: steven@HIDDEN,  63731 <at> debbugs.gnu.org
> Date: Fri, 26 May 2023 16:02:40 +0200
> 
>     Eli> What does this issue mean for the other VS-n characters, though?
>     Eli> Should we perhaps install something similar for them as well?
> 
> For VS-15 maybe? The following gets me text-presentation composition
> with CHAR+FE0E and emoji-presentation with CHAR+FE0F

Actually, I forgot about compose-gstring-for-variation-glyph.  My
question was actually whether the general setting in

  (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
	       [nil 0 compose-gstring-for-graphic])))
    (map-char-table
     #'(lambda (key val)
	 (if (memq val '(Mn Mc Me))
	     (set-char-table-range composition-function-table key elt)))
     unicode-category-table))

affects also the VS-n selectors.  But since the latter setting of

  (let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
    (set-char-table-range composition-function-table '(#xFE00 . #xFE0E) elt)
    (set-char-table-range composition-function-table '(#xE0100 . #xE01EF) elt))

takes care of all the VS-n selectors except VS-16, and your patch now
will take care of VS-16, it sounds like we don't need to care about
other VS-n selectors?

Or are you saying that without including VS-15, CHAR+FE0E is not
displayed using its text representation?

Did you test the proposed change with the admin/emoji-*.txt files, to
make sure they all still display OK?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 14:02:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 10:02:50 2023
Received: from localhost ([127.0.0.1]:50483 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2Y1q-000825-C2
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 10:02:50 -0400
Received: from mail-wr1-f48.google.com ([209.85.221.48]:51391)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2Y1o-00081n-Ss
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 10:02:49 -0400
Received: by mail-wr1-f48.google.com with SMTP id
 ffacd0b85a97d-30addbb1b14so164555f8f.2
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 07:02:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685109763; x=1687701763;
 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=Up5VhkNjbc07hWmrw3mQxvyTpfou5Gs6fOPICIcqots=;
 b=jtThnbjiwH/WClcIwonYrgfcPp8Z10cQzU/AeONFGvp/mdZ+95EHc2763pGYLfklD4
 +BTEh5zHpDR9GuSqu0keBrTIJONw/e7A5c3mFBGsGX7aXISOzaeOcgbQu39DrT+W5D70
 267N8MaQfVQbHJ95boYo84qD26xGNI5k+3EYwnMpJ49qglTL1xJnEbaWSakmo+p+vUo/
 31SKmP2LX3+LkE6k2Z1yozV0rbYcWcYPLs2xOkvT1BlbXMAn+Cu2TMXWqz7VyebKe/Oo
 I1TQ/E5nqpSZx8tNM8WA44p5qGRWw7UVKN3mzfgQQw3H82DgDJO/5aVAmJCbWMJNGinZ
 gdgg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685109763; x=1687701763;
 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=Up5VhkNjbc07hWmrw3mQxvyTpfou5Gs6fOPICIcqots=;
 b=cObPXeK4Y6qAG2GtcsnufcjaVt4B2Y7puleADoq+V5hx9LPws/t2MN6/s7PT5MS1i8
 hQUIp2UaVK6x9HqMniyRtlNdI+rDlp3D18KK6PVmXuHMMoiUavt854ZZwPMY5q5ARxjj
 5G9l2WMoM83RzMtTVQLYu0ALnXUS9C8u+zSQhNNcYL8EZTDRpxUuqga1rruP2I61YZtD
 L2Q6A+ojYa/HY85FZHSdGdclxOyd1/YNc57fOgBAlZP0k3sURJkq8OYr2wsX8taBX3X0
 +j537774jyZ46DwlRIPCV0vCDx6HViK0GjHXhm9QjDbZSdnM+EWrrMYsexxYzPMWax9T
 CEdA==
X-Gm-Message-State: AC+VfDxSDmZt1Fx8z8E/L76pO3RDZgVtQMEr/RhgCsdd5HUwWoo31Pml
 Z/FP9Ojh208lVTzEt0pov2Gas8ZvwNk=
X-Google-Smtp-Source: ACHHUZ71g26ZWdp5NG4E5Bj3dEdYyiXe2QBgIAWls5+DNsQr1itRc0jd0Q+hotTNabwQU+4lwwHuUA==
X-Received: by 2002:adf:d089:0:b0:306:3a47:cd78 with SMTP id
 y9-20020adfd089000000b003063a47cd78mr1302977wrh.71.1685109762338; 
 Fri, 26 May 2023 07:02:42 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 c3-20020a05600c0ac300b003f50e88ffc1sm9028824wmr.0.2023.05.26.07.02.41
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 07:02:41 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83v8gfjnzj.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 15:06:40 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN> <83v8gfjnzj.fsf@HIDDEN>
Date: Fri, 26 May 2023 16:02:40 +0200
Message-ID: <87edn3mbr3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 15:06:40 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >>=20
    >> Composition is done for 1f44d+fe0f, but I suspect that with the curr=
ent
    >> setup, composition is called again for FE0F, which results in the box
    >> glyph. With the second patch we will only do backwards looking compo=
sition
    >> for FE0F

    Eli> OK, then I think we should install this on the emacs-29 branch.

    >> You=CA=BCre right, there=CA=BCs no forward looking regexp, only a ba=
ckwards one
    >> and a no-regexp. But it=CA=BCs undeniable that:
    >>=20
    >> [nil 0 compose-gstring-for-graphic]
    >>=20
    >> causes the issue. I=CA=BCve never been clear on the semantics of tha=
t.

    Eli> It has special support in compose-gstring-for-graphic, see there. =
 The
    Eli> doc string also says a few words about that.  We use this, e.g., in
    Eli> describe-char display, where we sometimes need to show a single
    Eli> combining character with no base character to combine it with.  I
    Eli> think this is only relevant for accents and other such combining
    Eli> characters, not for VS-n.

OK

    Eli> What does this issue mean for the other VS-n characters, though?
    Eli> Should we perhaps install something similar for them as well?

For VS-15 maybe? The following gets me text-presentation composition
with CHAR+FE0E and emoji-presentation with CHAR+FE0F

diff --git a/lisp/composite.el b/lisp/composite.el
index fb8b76114f4..ada35010146 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -762,6 +762,11 @@ compose-gstring-for-dotted-circle
 	 (if (memq val '(Mn Mc Me))
 	     (set-char-table-range composition-function-table key elt)))
      unicode-category-table))
+  ;; for Emoji presentation selector
+  (set-char-table-range
+   composition-function-table
+   '(#xFE0E . #xFE0F)
+    `([,(purecopy "\\c.[\ufe0f\ufe0e]") 1 compose-gstring-for-graphic]))
   ;; for dotted-circle
   (aset composition-function-table #x25CC
 	`([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))
@@ -861,7 +866,7 @@ compose-gstring-for-variation-glyph
 ;; handled in font_range, we end up choosing the Emoji presentation
 ;; rather than the Text presentation.
 (let ((elt '([".." 1 compose-gstring-for-variation-glyph])))
-  (set-char-table-range composition-function-table '(#xFE00 . #xFE0E) elt)
+  (set-char-table-range composition-function-table '(#xFE00 . #xFE0D) elt)
   (set-char-table-range composition-function-table '(#xE0100 . #xE01EF) el=
t))
=20
 (defun auto-compose-chars (func from to font-object string direction)

although perhaps we could have both `compose-gstring-for-graphic' and
`compose-gstring-for-variation-glyph' for FE0E

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 12:06:36 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 08:06:36 2023
Received: from localhost ([127.0.0.1]:49036 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2WDM-0003p9-9G
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 08:06:36 -0400
Received: from eggs.gnu.org ([209.51.188.92]:35094)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2WDK-0003ou-OD
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 08:06:35 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2WDC-0003vs-TG; Fri, 26 May 2023 08:06:28 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=JIZZWpbltVAUlV31xK/wp7Lv6RPnXfSAoVPrv/VEOkU=; b=TFNqs96Dqv5oXsRExWRj
 WFzSunwI69vKyONaTsdhXC+kKmvVd6DsaPdy010y72vzNiJ+3jrBEJNjo3MlIIcutUbKiei3mEEna
 wHZqGG6wPzGJHDE0l+L/9/rlykYS0mAtpGPJ8OaIYs5HFTzA+DSDmIUQBG5fnKiyPeoOXb5MQBKSa
 SrXgR5u1TcqRuVaJFJmoBcYwpvP4P7bR+YAKAU8QMmy4b5p7Vx9V1aXaLb384VGKtR4h4TE9Oc7kG
 +o7rvWTMqWXoreD2uL/4TqrNV2vmbz63AHpJwlr9g1CuDUSeoYWVG5YcMvw5ZH7oHB6iwe9oFkduY
 B50o0i5zb9Zw2A==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2WCw-0005Pg-SA; Fri, 26 May 2023 08:06:26 -0400
Date: Fri, 26 May 2023 15:06:40 +0300
Message-Id: <83v8gfjnzj.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87mt1rmjjg.fsf@HIDDEN> (message from Robert Pluim on Fri, 26
 May 2023 13:14:27 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
 <87mt1rmjjg.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: steven@HIDDEN,  63731 <at> debbugs.gnu.org
> Date: Fri, 26 May 2023 13:14:27 +0200
> 
>     >> Although the following is less invasive:
>     >> 
>     >> diff --git a/lisp/composite.el b/lisp/composite.el
>     >> index fb8b76114f4..333428f008a 100644
>     >> --- a/lisp/composite.el
>     >> +++ b/lisp/composite.el
>     >> @@ -762,6 +762,11 @@ compose-gstring-for-dotted-circle
>     >> (if (memq val '(Mn Mc Me))
>     >> (set-char-table-range composition-function-table key elt)))
>     >> unicode-category-table))
>     >> +  ;; for Emoji presentation selector
>     >> +  (set-char-table-range
>     >> +   composition-function-table
>     >> +   #xFE0F
>     >> +    `([,(purecopy "\\c.\ufe0f") 1 compose-gstring-for-graphic]))
>     >> ;; for dotted-circle
>     >> (aset composition-function-table #x25CC
>     >> `([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))
> 
>     Eli> Can you please explain why the current setup doesn't work in this
>     Eli> case, even though "C-u C-x =" says the composition was done?  And how
>     Eli> the above patch fixes that?
> 
> Composition is done for 1f44d+fe0f, but I suspect that with the current
> setup, composition is called again for FE0F, which results in the box
> glyph. With the second patch we will only do backwards looking composition
> for FE0F

OK, then I think we should install this on the emacs-29 branch.

> Youʼre right, thereʼs no forward looking regexp, only a backwards one
> and a no-regexp. But itʼs undeniable that:
> 
>  [nil 0 compose-gstring-for-graphic]
> 
> causes the issue. Iʼve never been clear on the semantics of that.

It has special support in compose-gstring-for-graphic, see there.  The
doc string also says a few words about that.  We use this, e.g., in
describe-char display, where we sometimes need to show a single
combining character with no base character to combine it with.  I
think this is only relevant for accents and other such combining
characters, not for VS-n.

What does this issue mean for the other VS-n characters, though?
Should we perhaps install something similar for them as well?

Thanks.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 11:14:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 07:14:38 2023
Received: from localhost ([127.0.0.1]:48964 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2VP4-0007mb-1N
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 07:14:38 -0400
Received: from mail-wm1-f48.google.com ([209.85.128.48]:47481)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2VP1-0007mH-Br
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 07:14:35 -0400
Received: by mail-wm1-f48.google.com with SMTP id
 5b1f17b1804b1-3f6dbe3c230so6724645e9.3
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 04:14:35 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685099669; x=1687691669;
 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=ptRj+iV/W4FecMdJI3eamHw4hiE04BftV6wOXUwwqIw=;
 b=DmMa/Yxl/f0YtVai9h8gAtcwRqwNZsuJttnVyuyHAsrt2MDBO1xMYKoN2VlPIZto1n
 SsqkBpSEPWdrwAfrdbO2x53sU4yKSL6m6tG4JjIOQsMdfKWsO/ZqVXS3nDbHRvTsXCV6
 q+vKqR8kjFcCClwIIPtAfSkgXg4r09YG/ZXebFL3yC5ZDx8MX3fcBZoRkhQTtaQYHp2T
 btk8OsXmXlbb9Yom2UqFPwN3rf4gavSzPPTrEDGgPiREjYxrGiHyiJSPAJqLmtI7DzSH
 ELRuQDqY6UmIGLT7fcGGJoifxObfGWdryZqx4LTdbj1Bp373mEk7SKG0qZDowneC2tpu
 7mbQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685099669; x=1687691669;
 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=ptRj+iV/W4FecMdJI3eamHw4hiE04BftV6wOXUwwqIw=;
 b=Q0bpbjDYS7Z10TkJRLtwy4C8w3rdjf3oCTlSQsojfXoBLKBRfIQO6V7IT6O5fCNjdb
 fmhjrxjixiuwwQ+wxnCrmumx04RNqRaPBnSnkV0Ze+gFmL3S8wJIXms4oe87aTlPHfve
 SzYYEbU2aodhv4jSMKQWXYI9aE8fdsgjlYprzwc9juw9aXg93PBZlgsxTNp5oGaihon/
 I8osRtrvwnkpS/qDEMtQTKoDGpK/I8F4Jl3Y4CpcWatxckOc5mBRJZcaPK/tNjkSjUt5
 M3Bzrv/fb5nb6rvPOZrPsRJHohgNE/5ZNnAMh5M26XqYtvHdauRlWFqb9hIIdTAiOdjx
 UhKA==
X-Gm-Message-State: AC+VfDyyCjxmyDFmOEMG1V+zOuCLHg/JnJXdrppE6kEf/w4hhPMpger1
 sVnEuMJMkps+M5AAr3mJkEqY7BKSnbk=
X-Google-Smtp-Source: ACHHUZ7hHjpep1IgXFbcX672jdvCyeFgzfRsrUW+16ly9JEdxhwh2JUABBGoFzFitEimYKdFZwweZA==
X-Received: by 2002:adf:f644:0:b0:309:cb7:1935 with SMTP id
 x4-20020adff644000000b003090cb71935mr1251157wrp.25.1685099668668; 
 Fri, 26 May 2023 04:14:28 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 g10-20020a5d554a000000b002e5ff05765esm4886207wrw.73.2023.05.26.04.14.28
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 04:14:28 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83ilcflbua.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 11:46:05 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN> <83ilcflbua.fsf@HIDDEN>
Date: Fri, 26 May 2023 13:14:27 +0200
Message-ID: <87mt1rmjjg.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)

>>>>> On Fri, 26 May 2023 11:46:05 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Robert Pluim <rpluim@HIDDEN>
    >> Cc: Steven Allen <steven@HIDDEN>,  63731 <at> debbugs.gnu.org
    >> Date: Fri, 26 May 2023 10:34:02 +0200
    >>=20
    >> Ugh. The following fixes it for me:
    >>=20
    >> diff --git a/lisp/composite.el b/lisp/composite.el
    >> index fb8b76114f4..af86d1436d3 100644
    >> --- a/lisp/composite.el
    >> +++ b/lisp/composite.el
    >> @@ -756,7 +756,7 @@ compose-gstring-for-dotted-circle
    >> ;; Allow for bootstrapping without uni-*.el.
    >> (when unicode-category-table
    >> (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
    >> -	       [nil 0 compose-gstring-for-graphic])))
    >> +	       )))

    Eli> This is unacceptable, AFAIU.  We cannot unsupported (or change) the
    Eli> correct display of mark characters, can we?

Right. I=CA=BCll hold off pushing it =F0=9F=98=83

    >> Although the following is less invasive:
    >>=20
    >> diff --git a/lisp/composite.el b/lisp/composite.el
    >> index fb8b76114f4..333428f008a 100644
    >> --- a/lisp/composite.el
    >> +++ b/lisp/composite.el
    >> @@ -762,6 +762,11 @@ compose-gstring-for-dotted-circle
    >> (if (memq val '(Mn Mc Me))
    >> (set-char-table-range composition-function-table key elt)))
    >> unicode-category-table))
    >> +  ;; for Emoji presentation selector
    >> +  (set-char-table-range
    >> +   composition-function-table
    >> +   #xFE0F
    >> +    `([,(purecopy "\\c.\ufe0f") 1 compose-gstring-for-graphic]))
    >> ;; for dotted-circle
    >> (aset composition-function-table #x25CC
    >> `([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))

    Eli> Can you please explain why the current setup doesn't work in this
    Eli> case, even though "C-u C-x =3D" says the composition was done?  An=
d how
    Eli> the above patch fixes that?

Composition is done for 1f44d+fe0f, but I suspect that with the current
setup, composition is called again for FE0F, which results in the box
glyph. With the second patch we will only do backwards looking composition
for FE0F

    >> Didn=CA=BCt we conclude that composition had some issues with multip=
le
    >> entries for the same codepoint if there was a mix for forward and
    >> backward looking regexp?

    Eli> Not sure I understand to what does this allude.  What mix of forwa=
rd
    Eli> and backward looking regexp do you see?

You=CA=BCre right, there=CA=BCs no forward looking regexp, only a backwards=
 one
and a no-regexp. But it=CA=BCs undeniable that:

 [nil 0 compose-gstring-for-graphic]

causes the issue. I=CA=BCve never been clear on the semantics of that.

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 08:45:43 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 04:45:43 2023
Received: from localhost ([127.0.0.1]:48786 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2T4x-0002U7-DG
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 04:45:43 -0400
Received: from eggs.gnu.org ([209.51.188.92]:44366)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2T4v-0002Tq-47
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 04:45:42 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2T4p-0004K2-MF; Fri, 26 May 2023 04:45:35 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=MWt7ndGCnrRW5HUbE2U/rHxxf7gbYTRMM747/WEDmPI=; b=nHHQ48eHWCB4Q1AczJC8
 gZEDClO+gBt2LY2+cnGK+0UhgbXpDKpZvHwUpTSxM6BXSlUGUyAQHDiGqxk6OuhEX3QD1A0p3l0gc
 3gT1ky7tW1zMT4hqb+mZG5xkx+gbhbRSssPYr4YhDOFbN4XaNrh5NRwyfEl9hUXKb9JGyhWLsQRtN
 yQgTrWdFimrkP26/XlTdNfa4HyL4/ao4VafWh5TMtIhNItJ7gNTWlIv4Egdeq8R3TSLzfNw6aAQLh
 Dp9PK2UmbJHuDy/NH3PNpmZwwfqOkt4WevMxAhiHBctUyD/2gvyCVxP2sS8tq9pag/Dzl5Tmnkgyz
 mTFboMThUARDaw==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2T4p-00075m-5o; Fri, 26 May 2023 04:45:35 -0400
Date: Fri, 26 May 2023 11:46:05 +0300
Message-Id: <83ilcflbua.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87v8gfmqyt.fsf@HIDDEN> (message from Robert Pluim on Fri, 26
 May 2023 10:34:02 +0200)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
 <87v8gfmqyt.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, steven@HIDDEN
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Robert Pluim <rpluim@HIDDEN>
> Cc: Steven Allen <steven@HIDDEN>,  63731 <at> debbugs.gnu.org
> Date: Fri, 26 May 2023 10:34:02 +0200
> 
> Ugh. The following fixes it for me:
> 
> diff --git a/lisp/composite.el b/lisp/composite.el
> index fb8b76114f4..af86d1436d3 100644
> --- a/lisp/composite.el
> +++ b/lisp/composite.el
> @@ -756,7 +756,7 @@ compose-gstring-for-dotted-circle
>  ;; Allow for bootstrapping without uni-*.el.
>  (when unicode-category-table
>    (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
> -	       [nil 0 compose-gstring-for-graphic])))
> +	       )))

This is unacceptable, AFAIU.  We cannot unsupported (or change) the
correct display of mark characters, can we?

> Although the following is less invasive:
> 
> diff --git a/lisp/composite.el b/lisp/composite.el
> index fb8b76114f4..333428f008a 100644
> --- a/lisp/composite.el
> +++ b/lisp/composite.el
> @@ -762,6 +762,11 @@ compose-gstring-for-dotted-circle
>  	 (if (memq val '(Mn Mc Me))
>  	     (set-char-table-range composition-function-table key elt)))
>       unicode-category-table))
> +  ;; for Emoji presentation selector
> +  (set-char-table-range
> +   composition-function-table
> +   #xFE0F
> +    `([,(purecopy "\\c.\ufe0f") 1 compose-gstring-for-graphic]))
>    ;; for dotted-circle
>    (aset composition-function-table #x25CC
>  	`([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))

Can you please explain why the current setup doesn't work in this
case, even though "C-u C-x =" says the composition was done?  And how
the above patch fixes that?

> Didnʼt we conclude that composition had some issues with multiple
> entries for the same codepoint if there was a mix for forward and
> backward looking regexp?

Not sure I understand to what does this allude.  What mix of forward
and backward looking regexp do you see?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 08:34:13 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 04:34:13 2023
Received: from localhost ([127.0.0.1]:48773 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2Sto-0002AJ-KK
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 04:34:13 -0400
Received: from mail-wm1-f53.google.com ([209.85.128.53]:48604)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <rpluim@HIDDEN>) id 1q2Stm-0002A0-Pa
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 04:34:11 -0400
Received: by mail-wm1-f53.google.com with SMTP id
 5b1f17b1804b1-3f6a6b9c079so3256615e9.1
 for <63731 <at> debbugs.gnu.org>; Fri, 26 May 2023 01:34:10 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20221208; t=1685090044; x=1687682044;
 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=3s/1XGS2BtmlYtUxCc8xCNnBR+VowQhv2VIxHoWAd1s=;
 b=qoqCtajwa1N96XGd4K+rZKpXaa9iazXRD2yDcqfsbf4fY/Slsuhk7GmDPzr+USU+9R
 5SoYpPTs5/O9HgTwsicQ/esoSzA9JawsZXSbsO+qLkBLBUXRjpPw9TrOAlladgyuFRSD
 pPLts77wARFQ+mKZTiC2WF4cwv/EmnUR7Q4shql6ibhbstyqMkbn5DSVCn5qvYnOpABx
 CvK8bd2CSx4EyxVkFEKQNbNMIg2N5NeJDqP9yabyD7PpC4SX6DdS9bB3LqzX9L8Hd4Sd
 7benlde+9PVpRRX30TQvqPWXpVV+eGwRQ5A9q6FyXu6WNB4LJ1fr4kRCYT823KOfOFJZ
 +/yA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20221208; t=1685090044; x=1687682044;
 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=3s/1XGS2BtmlYtUxCc8xCNnBR+VowQhv2VIxHoWAd1s=;
 b=fbQYQCAx76HhdY7g/55QV8op0JIprSgYPrOp/gsF6/sBB9VUIPC0PrkcwZp/9l87wz
 GQ8pYl7OHwsZtP7i/XsAo9ldg9gSLavA9Vzzr3v4JpklDu0wMEywV46CGxfRrXbW2kQE
 e1g0AmoJLlqi5T7Gipo9FvHWFex8FoP7mfW8mpxw7zIA6exZeh3om92n4KvaI9I2LE1s
 RX3V0eMyBLENdsvsa07yhmhlsxgAkH7SJ0VxUXHHcizSu1NusA95HTozPrXUEwmrgxWA
 uZIOS7bFgo5CzLiezW5wwsRkgRp4lBeXqeA1ObbJR4LqY2qi7G5TQqiP59ybPVWVTFBx
 tycQ==
X-Gm-Message-State: AC+VfDy1yyFPKwS8Vn3pGvVgbU+DPGiFCYmrAnHczbcoKMgzqqzYmZih
 5DdcCpnp7/pqtLsYfShydqS5MEEqAIA=
X-Google-Smtp-Source: ACHHUZ7LNgo+JoJO/Xpy2nP8eI+lKxuG5Ip3U22wMEwQbqlc5DHDpl1GH583aoZY3UcNNTcV2W+OEg==
X-Received: by 2002:a05:600c:252:b0:3f4:a09f:1877 with SMTP id
 18-20020a05600c025200b003f4a09f1877mr818778wmj.23.1685090044173; 
 Fri, 26 May 2023 01:34:04 -0700 (PDT)
Received: from rltb ([82.66.8.55]) by smtp.gmail.com with ESMTPSA id
 c21-20020a7bc855000000b003f1958eeadcsm8042888wml.17.2023.05.26.01.34.03
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Fri, 26 May 2023 01:34:03 -0700 (PDT)
From: Robert Pluim <rpluim@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
In-Reply-To: <83pm6nlhll.fsf@HIDDEN> (Eli Zaretskii's message of "Fri, 26 May
 2023 09:41:42 +0300")
References: <87a5xrzsph.fsf@HIDDEN> <83pm6nlhll.fsf@HIDDEN>
Date: Fri, 26 May 2023 10:34:02 +0200
Message-ID: <87v8gfmqyt.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org, Steven Allen <steven@HIDDEN>
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -1.0 (-)


Disclaimer: I haven=CA=BCt looked at the patch yet

>>>>> On Fri, 26 May 2023 09:41:42 +0300, Eli Zaretskii <eliz@HIDDEN> said:

    >> From: Steven Allen <steven@HIDDEN>
    >> Date: Thu, 25 May 2023 20:18:02 -0700
    >>=20
    >> This patch imports the full list from unicode.org instead of
    >> special-casing a few characters as was done previously.
    >>=20
    >> With this patch, '=F0=9F=91=8D=EF=B8=8F' (1F44D FE0F) should look th=
e same as '=F0=9F=91=8D' (1F44D).
    >> Without it, it will look like '=F0=9F=91=8D=E2=80=8C=EF=B8=8F'.
    >>=20
    >> As a simple regression test, '=E2=9C=94' (2714) should still as "tex=
t" while '=E2=9C=94=EF=B8=8F'
    >> (2714 FE0F) should still display as an emoji.
    >>=20
    >> Fixes https://github.com/alphapapa/ement.el/issues/137
    >>=20
    >> NOTE: I'm not a Unicode expert, nor do I understand how Emacs handles
    >> Unicode (beyond what was required to implement this patch). But this
    >> patch appears to work and I can't find any regressions.

    Eli> AFAIU, this change will populate composition-function-table for ma=
ny
    Eli> "normal" characters, including ASCII digits and symbol/punctuation
    Eli> characters from the 0x2xxx blocks.  E.g., after you build Emacs wi=
th
    Eli> this patch, what do the following evaluations yield:

    Eli>   M-: (aref composition-function-table ?0) RET
    Eli>   M-: (aref composition-function-table #x2122) RET

    Eli> If they yield non-nil values, it could mean dramatic slowdown of
    Eli> redisplay with these characters.  Which is precisely what we wante=
d to
    Eli> avoid when we made the decision which parts of the Unicode-defined
    Eli> Emoji sequences to support in Emacs, and how to arrange for that
    Eli> support to work.

Yes. We don=CA=BCt want to do composition checks for ASCII if we can avoid =
it.

    Eli> The issue you site is strange: according to the "C-u C-x =3D" disp=
lay
    Eli> there, Emacs did compose #x1f44d with VS-16 using the Noto Color E=
moji
    Eli> font, so I don't quite understand why VS-16 is then also shown as =
an
    Eli> empty rectangle.  On my system Noto Color Emoji doesn't work, and =
"C-u
    Eli> C-x =3D" says this instead:

    Eli>   Composed with the following character(s) "=EF=B8=8F" using this =
font:
    Eli>     harfbuzz:-outline-Noto Emoji-regular-normal-normal-mono-15-*-*=
-*-c-*-iso10646-1
    Eli>   by these glyphs:
    Eli>     [0 1 128077 422 19 2 17 14 2 nil]
    Eli>     [0 1 65039 3 19 0 1 0 1 [0 0 0]]
    Eli>   with these character(s):
    Eli>     =EF=B8=8F (#xfe0f) VARIATION SELECTOR-16

    Eli> which explains why I see two glyphs and not 1.  But in the display
    Eli> shown in the above issue, I see

    Eli>   Composed with the following character(s) "=EF=B8=8F" using this =
font:
    Eli>     ftcrhb:-GOOG-Noto Color Emoji-regular-normal-normal-*-18-*-*-*=
-m-0-iso10646-1
    Eli>   by these glyphs:
    Eli>     [0 1 128077 569 22 0 23 17 5 [0 0 136]]
    Eli>   with these character(s):
    Eli>     =EF=B8=8F (#xfe0f) VARIATION SELECTOR-16

    Eli> which describes only one glyph, not two.  So the result ought to be
    Eli> what you expect.

I see the emoji followed by a blank box with Noto Color Emoji here. I
don=CA=BCt yet understand why.

    Eli> Robert, what am I missing here?

1F44D FE0F is a valid sequence according to tr51

(aref composition-function-table #x1f44d)
=3D> (["\\(?:=F0=9F=91=8D[=F0=9F=8F=BB-=F0=9F=8F=BF]\\)" 0 compose-gstring-=
for-graphic])

which means that the composition is being triggered by this entry:

(aref composition-function-table #xfe0f)
=3D> (["\\c.\\c^+" 1 compose-gstring-for-graphic] [nil 0 compose-gstring-fo=
r-graphic])

(time passes)

Ugh. The following fixes it for me:

diff --git a/lisp/composite.el b/lisp/composite.el
index fb8b76114f4..af86d1436d3 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -756,7 +756,7 @@ compose-gstring-for-dotted-circle
 ;; Allow for bootstrapping without uni-*.el.
 (when unicode-category-table
   (let ((elt `([,(purecopy "\\c.\\c^+") 1 compose-gstring-for-graphic]
-	       [nil 0 compose-gstring-for-graphic])))
+	       )))
     (map-char-table
      #'(lambda (key val)
 	 (if (memq val '(Mn Mc Me))

Although the following is less invasive:

diff --git a/lisp/composite.el b/lisp/composite.el
index fb8b76114f4..333428f008a 100644
--- a/lisp/composite.el
+++ b/lisp/composite.el
@@ -762,6 +762,11 @@ compose-gstring-for-dotted-circle
 	 (if (memq val '(Mn Mc Me))
 	     (set-char-table-range composition-function-table key elt)))
      unicode-category-table))
+  ;; for Emoji presentation selector
+  (set-char-table-range
+   composition-function-table
+   #xFE0F
+    `([,(purecopy "\\c.\ufe0f") 1 compose-gstring-for-graphic]))
   ;; for dotted-circle
   (aset composition-function-table #x25CC
 	`([,(purecopy ".\\c^") 0 compose-gstring-for-dotted-circle]))

Didn=CA=BCt we conclude that composition had some issues with multiple
entries for the same codepoint if there was a mix for forward and
backward looking regexp?

Robert
--=20




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at 63731 <at> debbugs.gnu.org:


Received: (at 63731) by debbugs.gnu.org; 26 May 2023 06:41:19 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 26 02:41:19 2023
Received: from localhost ([127.0.0.1]:48649 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2R8Z-000733-4C
	for submit <at> debbugs.gnu.org; Fri, 26 May 2023 02:41:19 -0400
Received: from eggs.gnu.org ([209.51.188.92]:42936)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1q2R8X-00072r-R0
 for 63731 <at> debbugs.gnu.org; Fri, 26 May 2023 02:41:18 -0400
Received: from fencepost.gnu.org ([2001:470:142:3::e])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2R8S-0003sN-Cv; Fri, 26 May 2023 02:41:12 -0400
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org;
 s=fencepost-gnu-org; h=MIME-version:References:Subject:In-Reply-To:To:From:
 Date; bh=RnHIQvi3YvPQkmhSEPG3/s6zoDH3+W83Ok6LCbJPAvI=; b=qUspINXU7VUTdCiFh9YE
 05j5xBHv9g5cdHQ+KLH8oIGwtzOm+N6UEZCA7YeMUbfHXP8b2GU6L8myQfpEEv/kSfin8z0QlmQTr
 CzFI6hmS+Ymw5wK/feXCGt9YN+ces3TRwbD1SJiHsttPVImduei2IjJYE1ZQR6ICKaBRD8GonC+8d
 JIa10yS5MQkFKsI20QFo/7jsAgENpWPNhbDevkMdg34M++K5BqJycwi6+Sjso/gFYzslOwlt82xwI
 azzsTEdbrWyh58KApRCdKP8pDw/eP1PzXNhkuON052IrpR0OIvfM13iPG4A5UBUUCRy31b/FrpZJ8
 v+kveDv5NERo3w==;
Received: from [87.69.77.57] (helo=home-c4e4a596f7)
 by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <eliz@HIDDEN>)
 id 1q2R8R-0007SE-SI; Fri, 26 May 2023 02:41:12 -0400
Date: Fri, 26 May 2023 09:41:42 +0300
Message-Id: <83pm6nlhll.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Steven Allen <steven@HIDDEN>, Robert Pluim <rpluim@HIDDEN>
In-Reply-To: <87a5xrzsph.fsf@HIDDEN> (message from Steven Allen on Thu, 
 25 May 2023 20:18:02 -0700)
Subject: Re: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F)
 where appropriate
References: <87a5xrzsph.fsf@HIDDEN>
MIME-version: 1.0
Content-type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 63731
Cc: 63731 <at> debbugs.gnu.org
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -3.3 (---)

> From: Steven Allen <steven@HIDDEN>
> Date: Thu, 25 May 2023 20:18:02 -0700
> 
> This patch imports the full list from unicode.org instead of
> special-casing a few characters as was done previously.
> 
> With this patch, '👍️' (1F44D FE0F) should look the same as '👍' (1F44D).
> Without it, it will look like '👍‌️'.
> 
> As a simple regression test, '✔' (2714) should still as "text" while '✔️'
> (2714 FE0F) should still display as an emoji.
> 
> Fixes https://github.com/alphapapa/ement.el/issues/137
> 
> NOTE: I'm not a Unicode expert, nor do I understand how Emacs handles
> Unicode (beyond what was required to implement this patch). But this
> patch appears to work and I can't find any regressions.

AFAIU, this change will populate composition-function-table for many
"normal" characters, including ASCII digits and symbol/punctuation
characters from the 0x2xxx blocks.  E.g., after you build Emacs with
this patch, what do the following evaluations yield:

  M-: (aref composition-function-table ?0) RET
  M-: (aref composition-function-table #x2122) RET

If they yield non-nil values, it could mean dramatic slowdown of
redisplay with these characters.  Which is precisely what we wanted to
avoid when we made the decision which parts of the Unicode-defined
Emoji sequences to support in Emacs, and how to arrange for that
support to work.

The issue you site is strange: according to the "C-u C-x =" display
there, Emacs did compose #x1f44d with VS-16 using the Noto Color Emoji
font, so I don't quite understand why VS-16 is then also shown as an
empty rectangle.  On my system Noto Color Emoji doesn't work, and "C-u
C-x =" says this instead:

  Composed with the following character(s) "️" using this font:
    harfbuzz:-outline-Noto Emoji-regular-normal-normal-mono-15-*-*-*-c-*-iso10646-1
  by these glyphs:
    [0 1 128077 422 19 2 17 14 2 nil]
    [0 1 65039 3 19 0 1 0 1 [0 0 0]]
  with these character(s):
    ️ (#xfe0f) VARIATION SELECTOR-16

which explains why I see two glyphs and not 1.  But in the display
shown in the above issue, I see

  Composed with the following character(s) "️" using this font:
    ftcrhb:-GOOG-Noto Color Emoji-regular-normal-normal-*-18-*-*-*-m-0-iso10646-1
  by these glyphs:
    [0 1 128077 569 22 0 23 17 5 [0 0 136]]
  with these character(s):
    ️ (#xfe0f) VARIATION SELECTOR-16

which describes only one glyph, not two.  So the result ought to be
what you expect.

Robert, what am I missing here?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 26 May 2023 03:18:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 25 23:18:20 2023
Received: from localhost ([127.0.0.1]:48510 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1q2Ny6-0000pY-9i
	for submit <at> debbugs.gnu.org; Thu, 25 May 2023 23:18:20 -0400
Received: from lists.gnu.org ([209.51.188.17]:44000)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <steven@HIDDEN>) id 1q2Ny3-0000pP-9m
 for submit <at> debbugs.gnu.org; Thu, 25 May 2023 23:18:17 -0400
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 <steven@HIDDEN>)
 id 1q2Ny2-00085K-U9
 for bug-gnu-emacs@HIDDEN; Thu, 25 May 2023 23:18:15 -0400
Received: from wout1-smtp.messagingengine.com ([64.147.123.24])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)
 (Exim 4.90_1) (envelope-from <steven@HIDDEN>)
 id 1q2Nxx-0007M3-Om
 for bug-gnu-emacs@HIDDEN; Thu, 25 May 2023 23:18:14 -0400
Received: from compute6.internal (compute6.nyi.internal [10.202.2.47])
 by mailout.west.internal (Postfix) with ESMTP id 4A5273200708
 for <bug-gnu-emacs@HIDDEN>; Thu, 25 May 2023 23:18:04 -0400 (EDT)
Received: from mailfrontend1 ([10.202.2.162])
 by compute6.internal (MEProxy); Thu, 25 May 2023 23:18:04 -0400
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=stebalien.com;
 h=cc:content-type:content-type:date:date:from:from:in-reply-to
 :message-id:mime-version:reply-to:sender:subject:subject:to:to;
 s=fm3; t=1685071083; x=1685157483; bh=dVWGFV/ozD0H4H2lPtkHYdvFe
 p4fNXa8rARBi1txmwY=; b=hZTkGE/56Y8qbAu10VIXHNthaHuh7eeAbAZJCoJXa
 48mY7Yqc8MNr4HJrpHN1Q+TROOf9Wl3ObDYiW+7QLPJZsGRD0nyYPp6KAh5I6CbV
 JmhraASdsMHDjxmURwDzehKABIN1BGykRV0CjX6APLL3YVuw+cEzPXZZxGWXyNx4
 kHsGqAbdco/gDSFJ+ZKqgToUgn7fgAgaArgzLO9pO7AOF+p4W4UqVHSE2AHuHK+q
 rkTYMmKTK6HnN8FRxwRcfLFICKol8KkNdYNeCwbGcMiOw5TN8mdTaqAp3taKA3JC
 LMFtbU6nSAEzI2Bw7cUZpmikjuHiKIpY3qfPCNvtHfAiw==
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=
 messagingengine.com; h=cc:content-type:content-type:date:date
 :feedback-id:feedback-id:from:from:in-reply-to:message-id
 :mime-version:reply-to:sender:subject:subject:to:to:x-me-proxy
 :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm1; t=
 1685071083; x=1685157483; bh=dVWGFV/ozD0H4H2lPtkHYdvFep4fNXa8rAR
 Bi1txmwY=; b=Zy9aoVXl3akeWAjgMdB8JnftC1uroxVfqqtGHxwRuSljB+UTB65
 IBrDBf2+on5kunz8ZV4iLoOYy5wGkKbsyYX8Nl69v6e7hjI55QvyBjP+t49N5daC
 FdnE5i9TMC1iBU2t+wwxn1jm5UUEqM7ld6XhuYB4oHOyj5+t96jgMTWYddoJm4HA
 kXfj8UY2Y2Fhen8AzTIFqym6r6lqUd+cWO/W6P0s+9kWTrrGhFejH9C6rMJ4zAmZ
 OCxAUZmHhjOP3N72lH9RIua4BeS1h3aopEK+byLwPsyBmC67+pyshS5etDhXTgI7
 cnF3Xz+BU8E2dz3XgHlnFdqoEM1F8d3zT5g==
X-ME-Sender: <xms:6yRwZKcYy9AHBZP9sdo1RdBFmauwR43vGtPsR2dsbcGc4CRH3lke7g>
 <xme:6yRwZEOliTKLaPdKKbwtrR6M4CFW5X34zJ1-uP_4QeLI9ycNTFvOWJx7zBcmpQtv-
 iwakj8ZYi5GM3mWikY>
X-ME-Received: <xmr:6yRwZLjnOZrGTIUa1MdBsp0SovJmu8Ah4H1ODJmRlC8Aefs-wCV6RNIbyPyBwKxVOkmm7o1Dy1ZrwBGMallcruoq7bc_J0U>
X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrfeejkedgieelucetufdoteggodetrfdotf
 fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen
 uceurghilhhouhhtmecufedttdenucenucfjughrpefhvffufffkgggtsehmtderredttd
 ejnecuhfhrohhmpefuthgvvhgvnhcutehllhgvnhcuoehsthgvvhgvnhesshhtvggsrghl
 ihgvnhdrtghomheqnecuggftrfgrthhtvghrnheptddvudevgffhieefvdfhudevjeefje
 eggfeuvdekfeehudduffeihfdtjeetiedunecuffhomhgrihhnpehunhhitghouggvrdho
 rhhgpdhgihhthhhusgdrtghomhenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmh
 epmhgrihhlfhhrohhmpehsthgvvhgvnhesshhtvggsrghlihgvnhdrtghomh
X-ME-Proxy: <xmx:6yRwZH9lWiPDiKYN_ygdiY3g2U_mTPkyWACY9Ca-pvb1zMARu7lpLQ>
 <xmx:6yRwZGsVBTQoO0a4CRz8HdejipdpeI-fgBvmCDJx8Ay5cf9NnHJgug>
 <xmx:6yRwZOHc8sCvGuVd9YEr2ABb5ogXw84j_UhqFD_UQZgNWlf8IQUpfw>
 <xmx:6yRwZH4d1vA51ZSmnAr9Y_naVU8PWSdZu3GMY7Sk59_yte7-PUBBLQ>
Feedback-ID: ie8a146a7:Fastmail
Received: by mail.messagingengine.com (Postfix) with ESMTPA for
 <bug-gnu-emacs@HIDDEN>; Thu, 25 May 2023 23:18:03 -0400 (EDT)
From: Steven Allen <steven@HIDDEN>
To: bug-gnu-emacs@HIDDEN
Subject: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate
Date: Thu, 25 May 2023 20:18:02 -0700
Message-ID: <87a5xrzsph.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: multipart/mixed; boundary="=-=-="
Received-SPF: pass client-ip=64.147.123.24; envelope-from=steven@HIDDEN;
 helo=wout1-smtp.messagingengine.com
X-Spam_score_int: -27
X-Spam_score: -2.8
X-Spam_bar: --
X-Spam_report: (-2.8 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,
 RCVD_IN_DNSWL_LOW=-0.7, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001,
 T_SCC_BODY_TEXT_LINE=-0.01 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.6 (-)
X-Debbugs-Envelope-To: submit
X-BeenThere: debbugs-submit <at> debbugs.gnu.org
X-Mailman-Version: 2.1.18
Precedence: list
List-Id: <debbugs-submit.debbugs.gnu.org>
List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe>
List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/>
List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org>
List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help>
List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, 
 <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe>
Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org
Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org>
X-Spam-Score: -2.6 (--)

--=-=-=
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable


This patch imports the full list from unicode.org instead of
special-casing a few characters as was done previously.

With this patch, '=F0=9F=91=8D=EF=B8=8F' (1F44D FE0F) should look the same =
as '=F0=9F=91=8D' (1F44D).
Without it, it will look like '=F0=9F=91=8D=E2=80=8C=EF=B8=8F'.

As a simple regression test, '=E2=9C=94' (2714) should still as "text" whil=
e '=E2=9C=94=EF=B8=8F'
(2714 FE0F) should still display as an emoji.

Fixes https://github.com/alphapapa/ement.el/issues/137

NOTE: I'm not a Unicode expert, nor do I understand how Emacs handles
Unicode (beyond what was required to implement this patch). But this
patch appears to work and I can't find any regressions.


--=-=-=
Content-Type: text/x-patch; charset=utf-8
Content-Disposition: attachment;
 filename=0001-Support-Emoji-Variation-Sequence-16-FE0F-where-appro.patch
Content-Transfer-Encoding: quoted-printable
Content-Description: 0001-Support-Emoji-Variation-Sequence-16-FE0F-where-appro.patch

From 7049a28f200739260f567f27b2a68b6a040b4a89 Mon Sep 17 00:00:00 2001
From: Steven Allen <steven@HIDDEN>
Date: Thu, 25 May 2023 18:30:14 -0700
Subject: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropria=
te
MIME-Version: 1.0
Content-Type: text/plain; charset=3DUTF-8
Content-Transfer-Encoding: 8bit

Import the full list from unicode.org instead of special-casing a few
characters

With this patch, '=F0=9F=91=8D=EF=B8=8F' (1F44D FE0F) should look the same =
as
'=F0=9F=91=8D' (1F44D). Without it, it will look like '=F0=9F=91=8D=E2=80=
=8C=EF=B8=8F'.

* admin/unidata/emoji-variation-sequences.txt: import the variation
sequences from unicode.org.
* admin/unidata/README: document the new file.
* admin/unidata/Makefile.in:
* admin/unidata/emoji-zwj.awk: parse FE0F sequences from
emoji-variation-sequences.txt
---
 admin/unidata/Makefile.in                   |   2 +-
 admin/unidata/README                        |   4 +
 admin/unidata/emoji-variation-sequences.txt | 723 ++++++++++++++++++++
 admin/unidata/emoji-zwj.awk                 |  33 +-
 4 files changed, 739 insertions(+), 23 deletions(-)
 create mode 100644 admin/unidata/emoji-variation-sequences.txt

diff --git a/admin/unidata/Makefile.in b/admin/unidata/Makefile.in
index cccd85213f1..7c9482504ab 100644
--- a/admin/unidata/Makefile.in
+++ b/admin/unidata/Makefile.in
@@ -116,7 +116,7 @@ emoji-zwj.el: ${unidir}/emoji-zwj.el
=20
 zwj =3D ${srcdir}/emoji-zwj.awk
=20
-${unidir}/emoji-zwj.el: ${srcdir}/emoji-zwj-sequences.txt $(srcdir)/emoji-=
sequences.txt ${zwj}
+${unidir}/emoji-zwj.el: ${srcdir}/emoji-zwj-sequences.txt ${srcdir}/emoji-=
sequences.txt ${srcdir}/emoji-variation-sequences.txt ${zwj}
 	$(AM_V_GEN)$(AWK) -f ${zwj} $^ > $@
=20
 .PHONY: clean bootstrap-clean distclean maintainer-clean gen-clean
diff --git a/admin/unidata/README b/admin/unidata/README
index 2d421dfb6bf..a9743e18bea 100644
--- a/admin/unidata/README
+++ b/admin/unidata/README
@@ -64,3 +64,7 @@ https://www.unicode.org/Public/UCD/latest/ucd/PropertyVal=
ueAliases.txt
 IdnaMappingTable.txt
 https://www.unicode.org/Public/idna/latest/IdnaMappingTable.txt
 2022-01-18
+
+emoji-variation-sequences.txt
+https://www.unicode.org/Public/14.0.0/ucd/emoji/emoji-variation-sequences.=
txt
+2023-05-25
\ No newline at end of file
diff --git a/admin/unidata/emoji-variation-sequences.txt b/admin/unidata/em=
oji-variation-sequences.txt
new file mode 100644
index 00000000000..942377bf264
--- /dev/null
+++ b/admin/unidata/emoji-variation-sequences.txt
@@ -0,0 +1,723 @@
+# emoji-variation-sequences-14.0.0.txt
+# Date: 2021-06-08, 05:19:16 GMT
+# =C2=A9 2021 Unicode=C2=AE, Inc.
+# Unicode and the Unicode Logo are registered trademarks of Unicode, Inc. =
in the U.S. and other countries.
+# For terms of use, see http://www.unicode.org/terms_of_use.html
+#
+# Emoji Variation Sequences for UTS #51
+# Used with Emoji Version 14.0 and subsequent minor revisions (if any)
+#
+# For documentation and usage, see http://www.unicode.org/reports/tr51
+#
+0023 FE0E  ; text style;  # (1.1) NUMBER SIGN
+0023 FE0F  ; emoji style; # (1.1) NUMBER SIGN
+002A FE0E  ; text style;  # (1.1) ASTERISK
+002A FE0F  ; emoji style; # (1.1) ASTERISK
+0030 FE0E  ; text style;  # (1.1) DIGIT ZERO
+0030 FE0F  ; emoji style; # (1.1) DIGIT ZERO
+0031 FE0E  ; text style;  # (1.1) DIGIT ONE
+0031 FE0F  ; emoji style; # (1.1) DIGIT ONE
+0032 FE0E  ; text style;  # (1.1) DIGIT TWO
+0032 FE0F  ; emoji style; # (1.1) DIGIT TWO
+0033 FE0E  ; text style;  # (1.1) DIGIT THREE
+0033 FE0F  ; emoji style; # (1.1) DIGIT THREE
+0034 FE0E  ; text style;  # (1.1) DIGIT FOUR
+0034 FE0F  ; emoji style; # (1.1) DIGIT FOUR
+0035 FE0E  ; text style;  # (1.1) DIGIT FIVE
+0035 FE0F  ; emoji style; # (1.1) DIGIT FIVE
+0036 FE0E  ; text style;  # (1.1) DIGIT SIX
+0036 FE0F  ; emoji style; # (1.1) DIGIT SIX
+0037 FE0E  ; text style;  # (1.1) DIGIT SEVEN
+0037 FE0F  ; emoji style; # (1.1) DIGIT SEVEN
+0038 FE0E  ; text style;  # (1.1) DIGIT EIGHT
+0038 FE0F  ; emoji style; # (1.1) DIGIT EIGHT
+0039 FE0E  ; text style;  # (1.1) DIGIT NINE
+0039 FE0F  ; emoji style; # (1.1) DIGIT NINE
+00A9 FE0E  ; text style;  # (1.1) COPYRIGHT SIGN
+00A9 FE0F  ; emoji style; # (1.1) COPYRIGHT SIGN
+00AE FE0E  ; text style;  # (1.1) REGISTERED SIGN
+00AE FE0F  ; emoji style; # (1.1) REGISTERED SIGN
+203C FE0E  ; text style;  # (1.1) DOUBLE EXCLAMATION MARK
+203C FE0F  ; emoji style; # (1.1) DOUBLE EXCLAMATION MARK
+2049 FE0E  ; text style;  # (3.0) EXCLAMATION QUESTION MARK
+2049 FE0F  ; emoji style; # (3.0) EXCLAMATION QUESTION MARK
+2122 FE0E  ; text style;  # (1.1) TRADE MARK SIGN
+2122 FE0F  ; emoji style; # (1.1) TRADE MARK SIGN
+2139 FE0E  ; text style;  # (3.0) INFORMATION SOURCE
+2139 FE0F  ; emoji style; # (3.0) INFORMATION SOURCE
+2194 FE0E  ; text style;  # (1.1) LEFT RIGHT ARROW
+2194 FE0F  ; emoji style; # (1.1) LEFT RIGHT ARROW
+2195 FE0E  ; text style;  # (1.1) UP DOWN ARROW
+2195 FE0F  ; emoji style; # (1.1) UP DOWN ARROW
+2196 FE0E  ; text style;  # (1.1) NORTH WEST ARROW
+2196 FE0F  ; emoji style; # (1.1) NORTH WEST ARROW
+2197 FE0E  ; text style;  # (1.1) NORTH EAST ARROW
+2197 FE0F  ; emoji style; # (1.1) NORTH EAST ARROW
+2198 FE0E  ; text style;  # (1.1) SOUTH EAST ARROW
+2198 FE0F  ; emoji style; # (1.1) SOUTH EAST ARROW
+2199 FE0E  ; text style;  # (1.1) SOUTH WEST ARROW
+2199 FE0F  ; emoji style; # (1.1) SOUTH WEST ARROW
+21A9 FE0E  ; text style;  # (1.1) LEFTWARDS ARROW WITH HOOK
+21A9 FE0F  ; emoji style; # (1.1) LEFTWARDS ARROW WITH HOOK
+21AA FE0E  ; text style;  # (1.1) RIGHTWARDS ARROW WITH HOOK
+21AA FE0F  ; emoji style; # (1.1) RIGHTWARDS ARROW WITH HOOK
+231A FE0E  ; text style;  # (1.1) WATCH
+231A FE0F  ; emoji style; # (1.1) WATCH
+231B FE0E  ; text style;  # (1.1) HOURGLASS
+231B FE0F  ; emoji style; # (1.1) HOURGLASS
+2328 FE0E  ; text style;  # (1.1) KEYBOARD
+2328 FE0F  ; emoji style; # (1.1) KEYBOARD
+23CF FE0E  ; text style;  # (4.0) EJECT SYMBOL
+23CF FE0F  ; emoji style; # (4.0) EJECT SYMBOL
+23E9 FE0E  ; text style;  # (6.0) BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23E9 FE0F  ; emoji style; # (6.0) BLACK RIGHT-POINTING DOUBLE TRIANGLE
+23EA FE0E  ; text style;  # (6.0) BLACK LEFT-POINTING DOUBLE TRIANGLE
+23EA FE0F  ; emoji style; # (6.0) BLACK LEFT-POINTING DOUBLE TRIANGLE
+23ED FE0E  ; text style;  # (6.0) BLACK RIGHT-POINTING DOUBLE TRIANGLE WIT=
H VERTICAL BAR
+23ED FE0F  ; emoji style; # (6.0) BLACK RIGHT-POINTING DOUBLE TRIANGLE WIT=
H VERTICAL BAR
+23EE FE0E  ; text style;  # (6.0) BLACK LEFT-POINTING DOUBLE TRIANGLE WITH=
 VERTICAL BAR
+23EE FE0F  ; emoji style; # (6.0) BLACK LEFT-POINTING DOUBLE TRIANGLE WITH=
 VERTICAL BAR
+23EF FE0E  ; text style;  # (6.0) BLACK RIGHT-POINTING TRIANGLE WITH DOUBL=
E VERTICAL BAR
+23EF FE0F  ; emoji style; # (6.0) BLACK RIGHT-POINTING TRIANGLE WITH DOUBL=
E VERTICAL BAR
+23F1 FE0E  ; text style;  # (6.0) STOPWATCH
+23F1 FE0F  ; emoji style; # (6.0) STOPWATCH
+23F2 FE0E  ; text style;  # (6.0) TIMER CLOCK
+23F2 FE0F  ; emoji style; # (6.0) TIMER CLOCK
+23F3 FE0E  ; text style;  # (6.0) HOURGLASS WITH FLOWING SAND
+23F3 FE0F  ; emoji style; # (6.0) HOURGLASS WITH FLOWING SAND
+23F8 FE0E  ; text style;  # (7.0) DOUBLE VERTICAL BAR
+23F8 FE0F  ; emoji style; # (7.0) DOUBLE VERTICAL BAR
+23F9 FE0E  ; text style;  # (7.0) BLACK SQUARE FOR STOP
+23F9 FE0F  ; emoji style; # (7.0) BLACK SQUARE FOR STOP
+23FA FE0E  ; text style;  # (7.0) BLACK CIRCLE FOR RECORD
+23FA FE0F  ; emoji style; # (7.0) BLACK CIRCLE FOR RECORD
+24C2 FE0E  ; text style;  # (1.1) CIRCLED LATIN CAPITAL LETTER M
+24C2 FE0F  ; emoji style; # (1.1) CIRCLED LATIN CAPITAL LETTER M
+25AA FE0E  ; text style;  # (1.1) BLACK SMALL SQUARE
+25AA FE0F  ; emoji style; # (1.1) BLACK SMALL SQUARE
+25AB FE0E  ; text style;  # (1.1) WHITE SMALL SQUARE
+25AB FE0F  ; emoji style; # (1.1) WHITE SMALL SQUARE
+25B6 FE0E  ; text style;  # (1.1) BLACK RIGHT-POINTING TRIANGLE
+25B6 FE0F  ; emoji style; # (1.1) BLACK RIGHT-POINTING TRIANGLE
+25C0 FE0E  ; text style;  # (1.1) BLACK LEFT-POINTING TRIANGLE
+25C0 FE0F  ; emoji style; # (1.1) BLACK LEFT-POINTING TRIANGLE
+25FB FE0E  ; text style;  # (3.2) WHITE MEDIUM SQUARE
+25FB FE0F  ; emoji style; # (3.2) WHITE MEDIUM SQUARE
+25FC FE0E  ; text style;  # (3.2) BLACK MEDIUM SQUARE
+25FC FE0F  ; emoji style; # (3.2) BLACK MEDIUM SQUARE
+25FD FE0E  ; text style;  # (3.2) WHITE MEDIUM SMALL SQUARE
+25FD FE0F  ; emoji style; # (3.2) WHITE MEDIUM SMALL SQUARE
+25FE FE0E  ; text style;  # (3.2) BLACK MEDIUM SMALL SQUARE
+25FE FE0F  ; emoji style; # (3.2) BLACK MEDIUM SMALL SQUARE
+2600 FE0E  ; text style;  # (1.1) BLACK SUN WITH RAYS
+2600 FE0F  ; emoji style; # (1.1) BLACK SUN WITH RAYS
+2601 FE0E  ; text style;  # (1.1) CLOUD
+2601 FE0F  ; emoji style; # (1.1) CLOUD
+2602 FE0E  ; text style;  # (1.1) UMBRELLA
+2602 FE0F  ; emoji style; # (1.1) UMBRELLA
+2603 FE0E  ; text style;  # (1.1) SNOWMAN
+2603 FE0F  ; emoji style; # (1.1) SNOWMAN
+2604 FE0E  ; text style;  # (1.1) COMET
+2604 FE0F  ; emoji style; # (1.1) COMET
+260E FE0E  ; text style;  # (1.1) BLACK TELEPHONE
+260E FE0F  ; emoji style; # (1.1) BLACK TELEPHONE
+2611 FE0E  ; text style;  # (1.1) BALLOT BOX WITH CHECK
+2611 FE0F  ; emoji style; # (1.1) BALLOT BOX WITH CHECK
+2614 FE0E  ; text style;  # (4.0) UMBRELLA WITH RAIN DROPS
+2614 FE0F  ; emoji style; # (4.0) UMBRELLA WITH RAIN DROPS
+2615 FE0E  ; text style;  # (4.0) HOT BEVERAGE
+2615 FE0F  ; emoji style; # (4.0) HOT BEVERAGE
+2618 FE0E  ; text style;  # (4.1) SHAMROCK
+2618 FE0F  ; emoji style; # (4.1) SHAMROCK
+261D FE0E  ; text style;  # (1.1) WHITE UP POINTING INDEX
+261D FE0F  ; emoji style; # (1.1) WHITE UP POINTING INDEX
+2620 FE0E  ; text style;  # (1.1) SKULL AND CROSSBONES
+2620 FE0F  ; emoji style; # (1.1) SKULL AND CROSSBONES
+2622 FE0E  ; text style;  # (1.1) RADIOACTIVE SIGN
+2622 FE0F  ; emoji style; # (1.1) RADIOACTIVE SIGN
+2623 FE0E  ; text style;  # (1.1) BIOHAZARD SIGN
+2623 FE0F  ; emoji style; # (1.1) BIOHAZARD SIGN
+2626 FE0E  ; text style;  # (1.1) ORTHODOX CROSS
+2626 FE0F  ; emoji style; # (1.1) ORTHODOX CROSS
+262A FE0E  ; text style;  # (1.1) STAR AND CRESCENT
+262A FE0F  ; emoji style; # (1.1) STAR AND CRESCENT
+262E FE0E  ; text style;  # (1.1) PEACE SYMBOL
+262E FE0F  ; emoji style; # (1.1) PEACE SYMBOL
+262F FE0E  ; text style;  # (1.1) YIN YANG
+262F FE0F  ; emoji style; # (1.1) YIN YANG
+2638 FE0E  ; text style;  # (1.1) WHEEL OF DHARMA
+2638 FE0F  ; emoji style; # (1.1) WHEEL OF DHARMA
+2639 FE0E  ; text style;  # (1.1) WHITE FROWNING FACE
+2639 FE0F  ; emoji style; # (1.1) WHITE FROWNING FACE
+263A FE0E  ; text style;  # (1.1) WHITE SMILING FACE
+263A FE0F  ; emoji style; # (1.1) WHITE SMILING FACE
+2640 FE0E  ; text style;  # (1.1) FEMALE SIGN
+2640 FE0F  ; emoji style; # (1.1) FEMALE SIGN
+2642 FE0E  ; text style;  # (1.1) MALE SIGN
+2642 FE0F  ; emoji style; # (1.1) MALE SIGN
+2648 FE0E  ; text style;  # (1.1) ARIES
+2648 FE0F  ; emoji style; # (1.1) ARIES
+2649 FE0E  ; text style;  # (1.1) TAURUS
+2649 FE0F  ; emoji style; # (1.1) TAURUS
+264A FE0E  ; text style;  # (1.1) GEMINI
+264A FE0F  ; emoji style; # (1.1) GEMINI
+264B FE0E  ; text style;  # (1.1) CANCER
+264B FE0F  ; emoji style; # (1.1) CANCER
+264C FE0E  ; text style;  # (1.1) LEO
+264C FE0F  ; emoji style; # (1.1) LEO
+264D FE0E  ; text style;  # (1.1) VIRGO
+264D FE0F  ; emoji style; # (1.1) VIRGO
+264E FE0E  ; text style;  # (1.1) LIBRA
+264E FE0F  ; emoji style; # (1.1) LIBRA
+264F FE0E  ; text style;  # (1.1) SCORPIUS
+264F FE0F  ; emoji style; # (1.1) SCORPIUS
+2650 FE0E  ; text style;  # (1.1) SAGITTARIUS
+2650 FE0F  ; emoji style; # (1.1) SAGITTARIUS
+2651 FE0E  ; text style;  # (1.1) CAPRICORN
+2651 FE0F  ; emoji style; # (1.1) CAPRICORN
+2652 FE0E  ; text style;  # (1.1) AQUARIUS
+2652 FE0F  ; emoji style; # (1.1) AQUARIUS
+2653 FE0E  ; text style;  # (1.1) PISCES
+2653 FE0F  ; emoji style; # (1.1) PISCES
+265F FE0E  ; text style;  # (1.1) BLACK CHESS PAWN
+265F FE0F  ; emoji style; # (1.1) BLACK CHESS PAWN
+2660 FE0E  ; text style;  # (1.1) BLACK SPADE SUIT
+2660 FE0F  ; emoji style; # (1.1) BLACK SPADE SUIT
+2663 FE0E  ; text style;  # (1.1) BLACK CLUB SUIT
+2663 FE0F  ; emoji style; # (1.1) BLACK CLUB SUIT
+2665 FE0E  ; text style;  # (1.1) BLACK HEART SUIT
+2665 FE0F  ; emoji style; # (1.1) BLACK HEART SUIT
+2666 FE0E  ; text style;  # (1.1) BLACK DIAMOND SUIT
+2666 FE0F  ; emoji style; # (1.1) BLACK DIAMOND SUIT
+2668 FE0E  ; text style;  # (1.1) HOT SPRINGS
+2668 FE0F  ; emoji style; # (1.1) HOT SPRINGS
+267B FE0E  ; text style;  # (3.2) BLACK UNIVERSAL RECYCLING SYMBOL
+267B FE0F  ; emoji style; # (3.2) BLACK UNIVERSAL RECYCLING SYMBOL
+267E FE0E  ; text style;  # (4.1) PERMANENT PAPER SIGN
+267E FE0F  ; emoji style; # (4.1) PERMANENT PAPER SIGN
+267F FE0E  ; text style;  # (4.1) WHEELCHAIR SYMBOL
+267F FE0F  ; emoji style; # (4.1) WHEELCHAIR SYMBOL
+2692 FE0E  ; text style;  # (4.1) HAMMER AND PICK
+2692 FE0F  ; emoji style; # (4.1) HAMMER AND PICK
+2693 FE0E  ; text style;  # (4.1) ANCHOR
+2693 FE0F  ; emoji style; # (4.1) ANCHOR
+2694 FE0E  ; text style;  # (4.1) CROSSED SWORDS
+2694 FE0F  ; emoji style; # (4.1) CROSSED SWORDS
+2695 FE0E  ; text style;  # (4.1) STAFF OF AESCULAPIUS
+2695 FE0F  ; emoji style; # (4.1) STAFF OF AESCULAPIUS
+2696 FE0E  ; text style;  # (4.1) SCALES
+2696 FE0F  ; emoji style; # (4.1) SCALES
+2697 FE0E  ; text style;  # (4.1) ALEMBIC
+2697 FE0F  ; emoji style; # (4.1) ALEMBIC
+2699 FE0E  ; text style;  # (4.1) GEAR
+2699 FE0F  ; emoji style; # (4.1) GEAR
+269B FE0E  ; text style;  # (4.1) ATOM SYMBOL
+269B FE0F  ; emoji style; # (4.1) ATOM SYMBOL
+269C FE0E  ; text style;  # (4.1) FLEUR-DE-LIS
+269C FE0F  ; emoji style; # (4.1) FLEUR-DE-LIS
+26A0 FE0E  ; text style;  # (4.0) WARNING SIGN
+26A0 FE0F  ; emoji style; # (4.0) WARNING SIGN
+26A1 FE0E  ; text style;  # (4.0) HIGH VOLTAGE SIGN
+26A1 FE0F  ; emoji style; # (4.0) HIGH VOLTAGE SIGN
+26A7 FE0E  ; text style;  # (4.1) MALE WITH STROKE AND MALE AND FEMALE SIGN
+26A7 FE0F  ; emoji style; # (4.1) MALE WITH STROKE AND MALE AND FEMALE SIGN
+26AA FE0E  ; text style;  # (4.1) MEDIUM WHITE CIRCLE
+26AA FE0F  ; emoji style; # (4.1) MEDIUM WHITE CIRCLE
+26AB FE0E  ; text style;  # (4.1) MEDIUM BLACK CIRCLE
+26AB FE0F  ; emoji style; # (4.1) MEDIUM BLACK CIRCLE
+26B0 FE0E  ; text style;  # (4.1) COFFIN
+26B0 FE0F  ; emoji style; # (4.1) COFFIN
+26B1 FE0E  ; text style;  # (4.1) FUNERAL URN
+26B1 FE0F  ; emoji style; # (4.1) FUNERAL URN
+26BD FE0E  ; text style;  # (5.2) SOCCER BALL
+26BD FE0F  ; emoji style; # (5.2) SOCCER BALL
+26BE FE0E  ; text style;  # (5.2) BASEBALL
+26BE FE0F  ; emoji style; # (5.2) BASEBALL
+26C4 FE0E  ; text style;  # (5.2) SNOWMAN WITHOUT SNOW
+26C4 FE0F  ; emoji style; # (5.2) SNOWMAN WITHOUT SNOW
+26C5 FE0E  ; text style;  # (5.2) SUN BEHIND CLOUD
+26C5 FE0F  ; emoji style; # (5.2) SUN BEHIND CLOUD
+26C8 FE0E  ; text style;  # (5.2) THUNDER CLOUD AND RAIN
+26C8 FE0F  ; emoji style; # (5.2) THUNDER CLOUD AND RAIN
+26CF FE0E  ; text style;  # (5.2) PICK
+26CF FE0F  ; emoji style; # (5.2) PICK
+26D1 FE0E  ; text style;  # (5.2) HELMET WITH WHITE CROSS
+26D1 FE0F  ; emoji style; # (5.2) HELMET WITH WHITE CROSS
+26D3 FE0E  ; text style;  # (5.2) CHAINS
+26D3 FE0F  ; emoji style; # (5.2) CHAINS
+26D4 FE0E  ; text style;  # (5.2) NO ENTRY
+26D4 FE0F  ; emoji style; # (5.2) NO ENTRY
+26E9 FE0E  ; text style;  # (5.2) SHINTO SHRINE
+26E9 FE0F  ; emoji style; # (5.2) SHINTO SHRINE
+26EA FE0E  ; text style;  # (5.2) CHURCH
+26EA FE0F  ; emoji style; # (5.2) CHURCH
+26F0 FE0E  ; text style;  # (5.2) MOUNTAIN
+26F0 FE0F  ; emoji style; # (5.2) MOUNTAIN
+26F1 FE0E  ; text style;  # (5.2) UMBRELLA ON GROUND
+26F1 FE0F  ; emoji style; # (5.2) UMBRELLA ON GROUND
+26F2 FE0E  ; text style;  # (5.2) FOUNTAIN
+26F2 FE0F  ; emoji style; # (5.2) FOUNTAIN
+26F3 FE0E  ; text style;  # (5.2) FLAG IN HOLE
+26F3 FE0F  ; emoji style; # (5.2) FLAG IN HOLE
+26F4 FE0E  ; text style;  # (5.2) FERRY
+26F4 FE0F  ; emoji style; # (5.2) FERRY
+26F5 FE0E  ; text style;  # (5.2) SAILBOAT
+26F5 FE0F  ; emoji style; # (5.2) SAILBOAT
+26F7 FE0E  ; text style;  # (5.2) SKIER
+26F7 FE0F  ; emoji style; # (5.2) SKIER
+26F8 FE0E  ; text style;  # (5.2) ICE SKATE
+26F8 FE0F  ; emoji style; # (5.2) ICE SKATE
+26F9 FE0E  ; text style;  # (5.2) PERSON WITH BALL
+26F9 FE0F  ; emoji style; # (5.2) PERSON WITH BALL
+26FA FE0E  ; text style;  # (5.2) TENT
+26FA FE0F  ; emoji style; # (5.2) TENT
+26FD FE0E  ; text style;  # (5.2) FUEL PUMP
+26FD FE0F  ; emoji style; # (5.2) FUEL PUMP
+2702 FE0E  ; text style;  # (1.1) BLACK SCISSORS
+2702 FE0F  ; emoji style; # (1.1) BLACK SCISSORS
+2708 FE0E  ; text style;  # (1.1) AIRPLANE
+2708 FE0F  ; emoji style; # (1.1) AIRPLANE
+2709 FE0E  ; text style;  # (1.1) ENVELOPE
+2709 FE0F  ; emoji style; # (1.1) ENVELOPE
+270C FE0E  ; text style;  # (1.1) VICTORY HAND
+270C FE0F  ; emoji style; # (1.1) VICTORY HAND
+270D FE0E  ; text style;  # (1.1) WRITING HAND
+270D FE0F  ; emoji style; # (1.1) WRITING HAND
+270F FE0E  ; text style;  # (1.1) PENCIL
+270F FE0F  ; emoji style; # (1.1) PENCIL
+2712 FE0E  ; text style;  # (1.1) BLACK NIB
+2712 FE0F  ; emoji style; # (1.1) BLACK NIB
+2714 FE0E  ; text style;  # (1.1) HEAVY CHECK MARK
+2714 FE0F  ; emoji style; # (1.1) HEAVY CHECK MARK
+2716 FE0E  ; text style;  # (1.1) HEAVY MULTIPLICATION X
+2716 FE0F  ; emoji style; # (1.1) HEAVY MULTIPLICATION X
+271D FE0E  ; text style;  # (1.1) LATIN CROSS
+271D FE0F  ; emoji style; # (1.1) LATIN CROSS
+2721 FE0E  ; text style;  # (1.1) STAR OF DAVID
+2721 FE0F  ; emoji style; # (1.1) STAR OF DAVID
+2733 FE0E  ; text style;  # (1.1) EIGHT SPOKED ASTERISK
+2733 FE0F  ; emoji style; # (1.1) EIGHT SPOKED ASTERISK
+2734 FE0E  ; text style;  # (1.1) EIGHT POINTED BLACK STAR
+2734 FE0F  ; emoji style; # (1.1) EIGHT POINTED BLACK STAR
+2744 FE0E  ; text style;  # (1.1) SNOWFLAKE
+2744 FE0F  ; emoji style; # (1.1) SNOWFLAKE
+2747 FE0E  ; text style;  # (1.1) SPARKLE
+2747 FE0F  ; emoji style; # (1.1) SPARKLE
+2753 FE0E  ; text style;  # (6.0) BLACK QUESTION MARK ORNAMENT
+2753 FE0F  ; emoji style; # (6.0) BLACK QUESTION MARK ORNAMENT
+2757 FE0E  ; text style;  # (5.2) HEAVY EXCLAMATION MARK SYMBOL
+2757 FE0F  ; emoji style; # (5.2) HEAVY EXCLAMATION MARK SYMBOL
+2763 FE0E  ; text style;  # (1.1) HEAVY HEART EXCLAMATION MARK ORNAMENT
+2763 FE0F  ; emoji style; # (1.1) HEAVY HEART EXCLAMATION MARK ORNAMENT
+2764 FE0E  ; text style;  # (1.1) HEAVY BLACK HEART
+2764 FE0F  ; emoji style; # (1.1) HEAVY BLACK HEART
+27A1 FE0E  ; text style;  # (1.1) BLACK RIGHTWARDS ARROW
+27A1 FE0F  ; emoji style; # (1.1) BLACK RIGHTWARDS ARROW
+2934 FE0E  ; text style;  # (3.2) ARROW POINTING RIGHTWARDS THEN CURVING U=
PWARDS
+2934 FE0F  ; emoji style; # (3.2) ARROW POINTING RIGHTWARDS THEN CURVING U=
PWARDS
+2935 FE0E  ; text style;  # (3.2) ARROW POINTING RIGHTWARDS THEN CURVING D=
OWNWARDS
+2935 FE0F  ; emoji style; # (3.2) ARROW POINTING RIGHTWARDS THEN CURVING D=
OWNWARDS
+2B05 FE0E  ; text style;  # (4.0) LEFTWARDS BLACK ARROW
+2B05 FE0F  ; emoji style; # (4.0) LEFTWARDS BLACK ARROW
+2B06 FE0E  ; text style;  # (4.0) UPWARDS BLACK ARROW
+2B06 FE0F  ; emoji style; # (4.0) UPWARDS BLACK ARROW
+2B07 FE0E  ; text style;  # (4.0) DOWNWARDS BLACK ARROW
+2B07 FE0F  ; emoji style; # (4.0) DOWNWARDS BLACK ARROW
+2B1B FE0E  ; text style;  # (5.1) BLACK LARGE SQUARE
+2B1B FE0F  ; emoji style; # (5.1) BLACK LARGE SQUARE
+2B1C FE0E  ; text style;  # (5.1) WHITE LARGE SQUARE
+2B1C FE0F  ; emoji style; # (5.1) WHITE LARGE SQUARE
+2B50 FE0E  ; text style;  # (5.1) WHITE MEDIUM STAR
+2B50 FE0F  ; emoji style; # (5.1) WHITE MEDIUM STAR
+2B55 FE0E  ; text style;  # (5.2) HEAVY LARGE CIRCLE
+2B55 FE0F  ; emoji style; # (5.2) HEAVY LARGE CIRCLE
+3030 FE0E  ; text style;  # (1.1) WAVY DASH
+3030 FE0F  ; emoji style; # (1.1) WAVY DASH
+303D FE0E  ; text style;  # (3.2) PART ALTERNATION MARK
+303D FE0F  ; emoji style; # (3.2) PART ALTERNATION MARK
+3297 FE0E  ; text style;  # (1.1) CIRCLED IDEOGRAPH CONGRATULATION
+3297 FE0F  ; emoji style; # (1.1) CIRCLED IDEOGRAPH CONGRATULATION
+3299 FE0E  ; text style;  # (1.1) CIRCLED IDEOGRAPH SECRET
+3299 FE0F  ; emoji style; # (1.1) CIRCLED IDEOGRAPH SECRET
+1F004 FE0E ; text style;  # (5.1) MAHJONG TILE RED DRAGON
+1F004 FE0F ; emoji style; # (5.1) MAHJONG TILE RED DRAGON
+1F170 FE0E ; text style;  # (6.0) NEGATIVE SQUARED LATIN CAPITAL LETTER A
+1F170 FE0F ; emoji style; # (6.0) NEGATIVE SQUARED LATIN CAPITAL LETTER A
+1F171 FE0E ; text style;  # (6.0) NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1F171 FE0F ; emoji style; # (6.0) NEGATIVE SQUARED LATIN CAPITAL LETTER B
+1F17E FE0E ; text style;  # (6.0) NEGATIVE SQUARED LATIN CAPITAL LETTER O
+1F17E FE0F ; emoji style; # (6.0) NEGATIVE SQUARED LATIN CAPITAL LETTER O
+1F17F FE0E ; text style;  # (5.2) NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F17F FE0F ; emoji style; # (5.2) NEGATIVE SQUARED LATIN CAPITAL LETTER P
+1F202 FE0E ; text style;  # (6.0) SQUARED KATAKANA SA
+1F202 FE0F ; emoji style; # (6.0) SQUARED KATAKANA SA
+1F21A FE0E ; text style;  # (5.2) SQUARED CJK UNIFIED IDEOGRAPH-7121
+1F21A FE0F ; emoji style; # (5.2) SQUARED CJK UNIFIED IDEOGRAPH-7121
+1F22F FE0E ; text style;  # (5.2) SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F22F FE0F ; emoji style; # (5.2) SQUARED CJK UNIFIED IDEOGRAPH-6307
+1F237 FE0E ; text style;  # (6.0) SQUARED CJK UNIFIED IDEOGRAPH-6708
+1F237 FE0F ; emoji style; # (6.0) SQUARED CJK UNIFIED IDEOGRAPH-6708
+1F30D FE0E ; text style;  # (6.0) EARTH GLOBE EUROPE-AFRICA
+1F30D FE0F ; emoji style; # (6.0) EARTH GLOBE EUROPE-AFRICA
+1F30E FE0E ; text style;  # (6.0) EARTH GLOBE AMERICAS
+1F30E FE0F ; emoji style; # (6.0) EARTH GLOBE AMERICAS
+1F30F FE0E ; text style;  # (6.0) EARTH GLOBE ASIA-AUSTRALIA
+1F30F FE0F ; emoji style; # (6.0) EARTH GLOBE ASIA-AUSTRALIA
+1F315 FE0E ; text style;  # (6.0) FULL MOON SYMBOL
+1F315 FE0F ; emoji style; # (6.0) FULL MOON SYMBOL
+1F31C FE0E ; text style;  # (6.0) LAST QUARTER MOON WITH FACE
+1F31C FE0F ; emoji style; # (6.0) LAST QUARTER MOON WITH FACE
+1F321 FE0E ; text style;  # (7.0) THERMOMETER
+1F321 FE0F ; emoji style; # (7.0) THERMOMETER
+1F324 FE0E ; text style;  # (7.0) WHITE SUN WITH SMALL CLOUD
+1F324 FE0F ; emoji style; # (7.0) WHITE SUN WITH SMALL CLOUD
+1F325 FE0E ; text style;  # (7.0) WHITE SUN BEHIND CLOUD
+1F325 FE0F ; emoji style; # (7.0) WHITE SUN BEHIND CLOUD
+1F326 FE0E ; text style;  # (7.0) WHITE SUN BEHIND CLOUD WITH RAIN
+1F326 FE0F ; emoji style; # (7.0) WHITE SUN BEHIND CLOUD WITH RAIN
+1F327 FE0E ; text style;  # (7.0) CLOUD WITH RAIN
+1F327 FE0F ; emoji style; # (7.0) CLOUD WITH RAIN
+1F328 FE0E ; text style;  # (7.0) CLOUD WITH SNOW
+1F328 FE0F ; emoji style; # (7.0) CLOUD WITH SNOW
+1F329 FE0E ; text style;  # (7.0) CLOUD WITH LIGHTNING
+1F329 FE0F ; emoji style; # (7.0) CLOUD WITH LIGHTNING
+1F32A FE0E ; text style;  # (7.0) CLOUD WITH TORNADO
+1F32A FE0F ; emoji style; # (7.0) CLOUD WITH TORNADO
+1F32B FE0E ; text style;  # (7.0) FOG
+1F32B FE0F ; emoji style; # (7.0) FOG
+1F32C FE0E ; text style;  # (7.0) WIND BLOWING FACE
+1F32C FE0F ; emoji style; # (7.0) WIND BLOWING FACE
+1F336 FE0E ; text style;  # (7.0) HOT PEPPER
+1F336 FE0F ; emoji style; # (7.0) HOT PEPPER
+1F378 FE0E ; text style;  # (6.0) COCKTAIL GLASS
+1F378 FE0F ; emoji style; # (6.0) COCKTAIL GLASS
+1F37D FE0E ; text style;  # (7.0) FORK AND KNIFE WITH PLATE
+1F37D FE0F ; emoji style; # (7.0) FORK AND KNIFE WITH PLATE
+1F393 FE0E ; text style;  # (6.0) GRADUATION CAP
+1F393 FE0F ; emoji style; # (6.0) GRADUATION CAP
+1F396 FE0E ; text style;  # (7.0) MILITARY MEDAL
+1F396 FE0F ; emoji style; # (7.0) MILITARY MEDAL
+1F397 FE0E ; text style;  # (7.0) REMINDER RIBBON
+1F397 FE0F ; emoji style; # (7.0) REMINDER RIBBON
+1F399 FE0E ; text style;  # (7.0) STUDIO MICROPHONE
+1F399 FE0F ; emoji style; # (7.0) STUDIO MICROPHONE
+1F39A FE0E ; text style;  # (7.0) LEVEL SLIDER
+1F39A FE0F ; emoji style; # (7.0) LEVEL SLIDER
+1F39B FE0E ; text style;  # (7.0) CONTROL KNOBS
+1F39B FE0F ; emoji style; # (7.0) CONTROL KNOBS
+1F39E FE0E ; text style;  # (7.0) FILM FRAMES
+1F39E FE0F ; emoji style; # (7.0) FILM FRAMES
+1F39F FE0E ; text style;  # (7.0) ADMISSION TICKETS
+1F39F FE0F ; emoji style; # (7.0) ADMISSION TICKETS
+1F3A7 FE0E ; text style;  # (6.0) HEADPHONE
+1F3A7 FE0F ; emoji style; # (6.0) HEADPHONE
+1F3AC FE0E ; text style;  # (6.0) CLAPPER BOARD
+1F3AC FE0F ; emoji style; # (6.0) CLAPPER BOARD
+1F3AD FE0E ; text style;  # (6.0) PERFORMING ARTS
+1F3AD FE0F ; emoji style; # (6.0) PERFORMING ARTS
+1F3AE FE0E ; text style;  # (6.0) VIDEO GAME
+1F3AE FE0F ; emoji style; # (6.0) VIDEO GAME
+1F3C2 FE0E ; text style;  # (6.0) SNOWBOARDER
+1F3C2 FE0F ; emoji style; # (6.0) SNOWBOARDER
+1F3C4 FE0E ; text style;  # (6.0) SURFER
+1F3C4 FE0F ; emoji style; # (6.0) SURFER
+1F3C6 FE0E ; text style;  # (6.0) TROPHY
+1F3C6 FE0F ; emoji style; # (6.0) TROPHY
+1F3CA FE0E ; text style;  # (6.0) SWIMMER
+1F3CA FE0F ; emoji style; # (6.0) SWIMMER
+1F3CB FE0E ; text style;  # (7.0) WEIGHT LIFTER
+1F3CB FE0F ; emoji style; # (7.0) WEIGHT LIFTER
+1F3CC FE0E ; text style;  # (7.0) GOLFER
+1F3CC FE0F ; emoji style; # (7.0) GOLFER
+1F3CD FE0E ; text style;  # (7.0) RACING MOTORCYCLE
+1F3CD FE0F ; emoji style; # (7.0) RACING MOTORCYCLE
+1F3CE FE0E ; text style;  # (7.0) RACING CAR
+1F3CE FE0F ; emoji style; # (7.0) RACING CAR
+1F3D4 FE0E ; text style;  # (7.0) SNOW CAPPED MOUNTAIN
+1F3D4 FE0F ; emoji style; # (7.0) SNOW CAPPED MOUNTAIN
+1F3D5 FE0E ; text style;  # (7.0) CAMPING
+1F3D5 FE0F ; emoji style; # (7.0) CAMPING
+1F3D6 FE0E ; text style;  # (7.0) BEACH WITH UMBRELLA
+1F3D6 FE0F ; emoji style; # (7.0) BEACH WITH UMBRELLA
+1F3D7 FE0E ; text style;  # (7.0) BUILDING CONSTRUCTION
+1F3D7 FE0F ; emoji style; # (7.0) BUILDING CONSTRUCTION
+1F3D8 FE0E ; text style;  # (7.0) HOUSE BUILDINGS
+1F3D8 FE0F ; emoji style; # (7.0) HOUSE BUILDINGS
+1F3D9 FE0E ; text style;  # (7.0) CITYSCAPE
+1F3D9 FE0F ; emoji style; # (7.0) CITYSCAPE
+1F3DA FE0E ; text style;  # (7.0) DERELICT HOUSE BUILDING
+1F3DA FE0F ; emoji style; # (7.0) DERELICT HOUSE BUILDING
+1F3DB FE0E ; text style;  # (7.0) CLASSICAL BUILDING
+1F3DB FE0F ; emoji style; # (7.0) CLASSICAL BUILDING
+1F3DC FE0E ; text style;  # (7.0) DESERT
+1F3DC FE0F ; emoji style; # (7.0) DESERT
+1F3DD FE0E ; text style;  # (7.0) DESERT ISLAND
+1F3DD FE0F ; emoji style; # (7.0) DESERT ISLAND
+1F3DE FE0E ; text style;  # (7.0) NATIONAL PARK
+1F3DE FE0F ; emoji style; # (7.0) NATIONAL PARK
+1F3DF FE0E ; text style;  # (7.0) STADIUM
+1F3DF FE0F ; emoji style; # (7.0) STADIUM
+1F3E0 FE0E ; text style;  # (6.0) HOUSE BUILDING
+1F3E0 FE0F ; emoji style; # (6.0) HOUSE BUILDING
+1F3ED FE0E ; text style;  # (6.0) FACTORY
+1F3ED FE0F ; emoji style; # (6.0) FACTORY
+1F3F3 FE0E ; text style;  # (7.0) WAVING WHITE FLAG
+1F3F3 FE0F ; emoji style; # (7.0) WAVING WHITE FLAG
+1F3F5 FE0E ; text style;  # (7.0) ROSETTE
+1F3F5 FE0F ; emoji style; # (7.0) ROSETTE
+1F3F7 FE0E ; text style;  # (7.0) LABEL
+1F3F7 FE0F ; emoji style; # (7.0) LABEL
+1F408 FE0E ; text style;  # (6.0) CAT
+1F408 FE0F ; emoji style; # (6.0) CAT
+1F415 FE0E ; text style;  # (6.0) DOG
+1F415 FE0F ; emoji style; # (6.0) DOG
+1F41F FE0E ; text style;  # (6.0) FISH
+1F41F FE0F ; emoji style; # (6.0) FISH
+1F426 FE0E ; text style;  # (6.0) BIRD
+1F426 FE0F ; emoji style; # (6.0) BIRD
+1F43F FE0E ; text style;  # (7.0) CHIPMUNK
+1F43F FE0F ; emoji style; # (7.0) CHIPMUNK
+1F441 FE0E ; text style;  # (7.0) EYE
+1F441 FE0F ; emoji style; # (7.0) EYE
+1F442 FE0E ; text style;  # (6.0) EAR
+1F442 FE0F ; emoji style; # (6.0) EAR
+1F446 FE0E ; text style;  # (6.0) WHITE UP POINTING BACKHAND INDEX
+1F446 FE0F ; emoji style; # (6.0) WHITE UP POINTING BACKHAND INDEX
+1F447 FE0E ; text style;  # (6.0) WHITE DOWN POINTING BACKHAND INDEX
+1F447 FE0F ; emoji style; # (6.0) WHITE DOWN POINTING BACKHAND INDEX
+1F448 FE0E ; text style;  # (6.0) WHITE LEFT POINTING BACKHAND INDEX
+1F448 FE0F ; emoji style; # (6.0) WHITE LEFT POINTING BACKHAND INDEX
+1F449 FE0E ; text style;  # (6.0) WHITE RIGHT POINTING BACKHAND INDEX
+1F449 FE0F ; emoji style; # (6.0) WHITE RIGHT POINTING BACKHAND INDEX
+1F44D FE0E ; text style;  # (6.0) THUMBS UP SIGN
+1F44D FE0F ; emoji style; # (6.0) THUMBS UP SIGN
+1F44E FE0E ; text style;  # (6.0) THUMBS DOWN SIGN
+1F44E FE0F ; emoji style; # (6.0) THUMBS DOWN SIGN
+1F453 FE0E ; text style;  # (6.0) EYEGLASSES
+1F453 FE0F ; emoji style; # (6.0) EYEGLASSES
+1F46A FE0E ; text style;  # (6.0) FAMILY
+1F46A FE0F ; emoji style; # (6.0) FAMILY
+1F47D FE0E ; text style;  # (6.0) EXTRATERRESTRIAL ALIEN
+1F47D FE0F ; emoji style; # (6.0) EXTRATERRESTRIAL ALIEN
+1F4A3 FE0E ; text style;  # (6.0) BOMB
+1F4A3 FE0F ; emoji style; # (6.0) BOMB
+1F4B0 FE0E ; text style;  # (6.0) MONEY BAG
+1F4B0 FE0F ; emoji style; # (6.0) MONEY BAG
+1F4B3 FE0E ; text style;  # (6.0) CREDIT CARD
+1F4B3 FE0F ; emoji style; # (6.0) CREDIT CARD
+1F4BB FE0E ; text style;  # (6.0) PERSONAL COMPUTER
+1F4BB FE0F ; emoji style; # (6.0) PERSONAL COMPUTER
+1F4BF FE0E ; text style;  # (6.0) OPTICAL DISC
+1F4BF FE0F ; emoji style; # (6.0) OPTICAL DISC
+1F4CB FE0E ; text style;  # (6.0) CLIPBOARD
+1F4CB FE0F ; emoji style; # (6.0) CLIPBOARD
+1F4DA FE0E ; text style;  # (6.0) BOOKS
+1F4DA FE0F ; emoji style; # (6.0) BOOKS
+1F4DF FE0E ; text style;  # (6.0) PAGER
+1F4DF FE0F ; emoji style; # (6.0) PAGER
+1F4E4 FE0E ; text style;  # (6.0) OUTBOX TRAY
+1F4E4 FE0F ; emoji style; # (6.0) OUTBOX TRAY
+1F4E5 FE0E ; text style;  # (6.0) INBOX TRAY
+1F4E5 FE0F ; emoji style; # (6.0) INBOX TRAY
+1F4E6 FE0E ; text style;  # (6.0) PACKAGE
+1F4E6 FE0F ; emoji style; # (6.0) PACKAGE
+1F4EA FE0E ; text style;  # (6.0) CLOSED MAILBOX WITH LOWERED FLAG
+1F4EA FE0F ; emoji style; # (6.0) CLOSED MAILBOX WITH LOWERED FLAG
+1F4EB FE0E ; text style;  # (6.0) CLOSED MAILBOX WITH RAISED FLAG
+1F4EB FE0F ; emoji style; # (6.0) CLOSED MAILBOX WITH RAISED FLAG
+1F4EC FE0E ; text style;  # (6.0) OPEN MAILBOX WITH RAISED FLAG
+1F4EC FE0F ; emoji style; # (6.0) OPEN MAILBOX WITH RAISED FLAG
+1F4ED FE0E ; text style;  # (6.0) OPEN MAILBOX WITH LOWERED FLAG
+1F4ED FE0F ; emoji style; # (6.0) OPEN MAILBOX WITH LOWERED FLAG
+1F4F7 FE0E ; text style;  # (6.0) CAMERA
+1F4F7 FE0F ; emoji style; # (6.0) CAMERA
+1F4F9 FE0E ; text style;  # (6.0) VIDEO CAMERA
+1F4F9 FE0F ; emoji style; # (6.0) VIDEO CAMERA
+1F4FA FE0E ; text style;  # (6.0) TELEVISION
+1F4FA FE0F ; emoji style; # (6.0) TELEVISION
+1F4FB FE0E ; text style;  # (6.0) RADIO
+1F4FB FE0F ; emoji style; # (6.0) RADIO
+1F4FD FE0E ; text style;  # (7.0) FILM PROJECTOR
+1F4FD FE0F ; emoji style; # (7.0) FILM PROJECTOR
+1F508 FE0E ; text style;  # (6.0) SPEAKER
+1F508 FE0F ; emoji style; # (6.0) SPEAKER
+1F50D FE0E ; text style;  # (6.0) LEFT-POINTING MAGNIFYING GLASS
+1F50D FE0F ; emoji style; # (6.0) LEFT-POINTING MAGNIFYING GLASS
+1F512 FE0E ; text style;  # (6.0) LOCK
+1F512 FE0F ; emoji style; # (6.0) LOCK
+1F513 FE0E ; text style;  # (6.0) OPEN LOCK
+1F513 FE0F ; emoji style; # (6.0) OPEN LOCK
+1F549 FE0E ; text style;  # (7.0) OM SYMBOL
+1F549 FE0F ; emoji style; # (7.0) OM SYMBOL
+1F54A FE0E ; text style;  # (7.0) DOVE OF PEACE
+1F54A FE0F ; emoji style; # (7.0) DOVE OF PEACE
+1F550 FE0E ; text style;  # (6.0) CLOCK FACE ONE OCLOCK
+1F550 FE0F ; emoji style; # (6.0) CLOCK FACE ONE OCLOCK
+1F551 FE0E ; text style;  # (6.0) CLOCK FACE TWO OCLOCK
+1F551 FE0F ; emoji style; # (6.0) CLOCK FACE TWO OCLOCK
+1F552 FE0E ; text style;  # (6.0) CLOCK FACE THREE OCLOCK
+1F552 FE0F ; emoji style; # (6.0) CLOCK FACE THREE OCLOCK
+1F553 FE0E ; text style;  # (6.0) CLOCK FACE FOUR OCLOCK
+1F553 FE0F ; emoji style; # (6.0) CLOCK FACE FOUR OCLOCK
+1F554 FE0E ; text style;  # (6.0) CLOCK FACE FIVE OCLOCK
+1F554 FE0F ; emoji style; # (6.0) CLOCK FACE FIVE OCLOCK
+1F555 FE0E ; text style;  # (6.0) CLOCK FACE SIX OCLOCK
+1F555 FE0F ; emoji style; # (6.0) CLOCK FACE SIX OCLOCK
+1F556 FE0E ; text style;  # (6.0) CLOCK FACE SEVEN OCLOCK
+1F556 FE0F ; emoji style; # (6.0) CLOCK FACE SEVEN OCLOCK
+1F557 FE0E ; text style;  # (6.0) CLOCK FACE EIGHT OCLOCK
+1F557 FE0F ; emoji style; # (6.0) CLOCK FACE EIGHT OCLOCK
+1F558 FE0E ; text style;  # (6.0) CLOCK FACE NINE OCLOCK
+1F558 FE0F ; emoji style; # (6.0) CLOCK FACE NINE OCLOCK
+1F559 FE0E ; text style;  # (6.0) CLOCK FACE TEN OCLOCK
+1F559 FE0F ; emoji style; # (6.0) CLOCK FACE TEN OCLOCK
+1F55A FE0E ; text style;  # (6.0) CLOCK FACE ELEVEN OCLOCK
+1F55A FE0F ; emoji style; # (6.0) CLOCK FACE ELEVEN OCLOCK
+1F55B FE0E ; text style;  # (6.0) CLOCK FACE TWELVE OCLOCK
+1F55B FE0F ; emoji style; # (6.0) CLOCK FACE TWELVE OCLOCK
+1F55C FE0E ; text style;  # (6.0) CLOCK FACE ONE-THIRTY
+1F55C FE0F ; emoji style; # (6.0) CLOCK FACE ONE-THIRTY
+1F55D FE0E ; text style;  # (6.0) CLOCK FACE TWO-THIRTY
+1F55D FE0F ; emoji style; # (6.0) CLOCK FACE TWO-THIRTY
+1F55E FE0E ; text style;  # (6.0) CLOCK FACE THREE-THIRTY
+1F55E FE0F ; emoji style; # (6.0) CLOCK FACE THREE-THIRTY
+1F55F FE0E ; text style;  # (6.0) CLOCK FACE FOUR-THIRTY
+1F55F FE0F ; emoji style; # (6.0) CLOCK FACE FOUR-THIRTY
+1F560 FE0E ; text style;  # (6.0) CLOCK FACE FIVE-THIRTY
+1F560 FE0F ; emoji style; # (6.0) CLOCK FACE FIVE-THIRTY
+1F561 FE0E ; text style;  # (6.0) CLOCK FACE SIX-THIRTY
+1F561 FE0F ; emoji style; # (6.0) CLOCK FACE SIX-THIRTY
+1F562 FE0E ; text style;  # (6.0) CLOCK FACE SEVEN-THIRTY
+1F562 FE0F ; emoji style; # (6.0) CLOCK FACE SEVEN-THIRTY
+1F563 FE0E ; text style;  # (6.0) CLOCK FACE EIGHT-THIRTY
+1F563 FE0F ; emoji style; # (6.0) CLOCK FACE EIGHT-THIRTY
+1F564 FE0E ; text style;  # (6.0) CLOCK FACE NINE-THIRTY
+1F564 FE0F ; emoji style; # (6.0) CLOCK FACE NINE-THIRTY
+1F565 FE0E ; text style;  # (6.0) CLOCK FACE TEN-THIRTY
+1F565 FE0F ; emoji style; # (6.0) CLOCK FACE TEN-THIRTY
+1F566 FE0E ; text style;  # (6.0) CLOCK FACE ELEVEN-THIRTY
+1F566 FE0F ; emoji style; # (6.0) CLOCK FACE ELEVEN-THIRTY
+1F567 FE0E ; text style;  # (6.0) CLOCK FACE TWELVE-THIRTY
+1F567 FE0F ; emoji style; # (6.0) CLOCK FACE TWELVE-THIRTY
+1F56F FE0E ; text style;  # (7.0) CANDLE
+1F56F FE0F ; emoji style; # (7.0) CANDLE
+1F570 FE0E ; text style;  # (7.0) MANTELPIECE CLOCK
+1F570 FE0F ; emoji style; # (7.0) MANTELPIECE CLOCK
+1F573 FE0E ; text style;  # (7.0) HOLE
+1F573 FE0F ; emoji style; # (7.0) HOLE
+1F574 FE0E ; text style;  # (7.0) MAN IN BUSINESS SUIT LEVITATING
+1F574 FE0F ; emoji style; # (7.0) MAN IN BUSINESS SUIT LEVITATING
+1F575 FE0E ; text style;  # (7.0) SLEUTH OR SPY
+1F575 FE0F ; emoji style; # (7.0) SLEUTH OR SPY
+1F576 FE0E ; text style;  # (7.0) DARK SUNGLASSES
+1F576 FE0F ; emoji style; # (7.0) DARK SUNGLASSES
+1F577 FE0E ; text style;  # (7.0) SPIDER
+1F577 FE0F ; emoji style; # (7.0) SPIDER
+1F578 FE0E ; text style;  # (7.0) SPIDER WEB
+1F578 FE0F ; emoji style; # (7.0) SPIDER WEB
+1F579 FE0E ; text style;  # (7.0) JOYSTICK
+1F579 FE0F ; emoji style; # (7.0) JOYSTICK
+1F587 FE0E ; text style;  # (7.0) LINKED PAPERCLIPS
+1F587 FE0F ; emoji style; # (7.0) LINKED PAPERCLIPS
+1F58A FE0E ; text style;  # (7.0) LOWER LEFT BALLPOINT PEN
+1F58A FE0F ; emoji style; # (7.0) LOWER LEFT BALLPOINT PEN
+1F58B FE0E ; text style;  # (7.0) LOWER LEFT FOUNTAIN PEN
+1F58B FE0F ; emoji style; # (7.0) LOWER LEFT FOUNTAIN PEN
+1F58C FE0E ; text style;  # (7.0) LOWER LEFT PAINTBRUSH
+1F58C FE0F ; emoji style; # (7.0) LOWER LEFT PAINTBRUSH
+1F58D FE0E ; text style;  # (7.0) LOWER LEFT CRAYON
+1F58D FE0F ; emoji style; # (7.0) LOWER LEFT CRAYON
+1F590 FE0E ; text style;  # (7.0) RAISED HAND WITH FINGERS SPLAYED
+1F590 FE0F ; emoji style; # (7.0) RAISED HAND WITH FINGERS SPLAYED
+1F5A5 FE0E ; text style;  # (7.0) DESKTOP COMPUTER
+1F5A5 FE0F ; emoji style; # (7.0) DESKTOP COMPUTER
+1F5A8 FE0E ; text style;  # (7.0) PRINTER
+1F5A8 FE0F ; emoji style; # (7.0) PRINTER
+1F5B1 FE0E ; text style;  # (7.0) THREE BUTTON MOUSE
+1F5B1 FE0F ; emoji style; # (7.0) THREE BUTTON MOUSE
+1F5B2 FE0E ; text style;  # (7.0) TRACKBALL
+1F5B2 FE0F ; emoji style; # (7.0) TRACKBALL
+1F5BC FE0E ; text style;  # (7.0) FRAME WITH PICTURE
+1F5BC FE0F ; emoji style; # (7.0) FRAME WITH PICTURE
+1F5C2 FE0E ; text style;  # (7.0) CARD INDEX DIVIDERS
+1F5C2 FE0F ; emoji style; # (7.0) CARD INDEX DIVIDERS
+1F5C3 FE0E ; text style;  # (7.0) CARD FILE BOX
+1F5C3 FE0F ; emoji style; # (7.0) CARD FILE BOX
+1F5C4 FE0E ; text style;  # (7.0) FILE CABINET
+1F5C4 FE0F ; emoji style; # (7.0) FILE CABINET
+1F5D1 FE0E ; text style;  # (7.0) WASTEBASKET
+1F5D1 FE0F ; emoji style; # (7.0) WASTEBASKET
+1F5D2 FE0E ; text style;  # (7.0) SPIRAL NOTE PAD
+1F5D2 FE0F ; emoji style; # (7.0) SPIRAL NOTE PAD
+1F5D3 FE0E ; text style;  # (7.0) SPIRAL CALENDAR PAD
+1F5D3 FE0F ; emoji style; # (7.0) SPIRAL CALENDAR PAD
+1F5DC FE0E ; text style;  # (7.0) COMPRESSION
+1F5DC FE0F ; emoji style; # (7.0) COMPRESSION
+1F5DD FE0E ; text style;  # (7.0) OLD KEY
+1F5DD FE0F ; emoji style; # (7.0) OLD KEY
+1F5DE FE0E ; text style;  # (7.0) ROLLED-UP NEWSPAPER
+1F5DE FE0F ; emoji style; # (7.0) ROLLED-UP NEWSPAPER
+1F5E1 FE0E ; text style;  # (7.0) DAGGER KNIFE
+1F5E1 FE0F ; emoji style; # (7.0) DAGGER KNIFE
+1F5E3 FE0E ; text style;  # (7.0) SPEAKING HEAD IN SILHOUETTE
+1F5E3 FE0F ; emoji style; # (7.0) SPEAKING HEAD IN SILHOUETTE
+1F5E8 FE0E ; text style;  # (7.0) LEFT SPEECH BUBBLE
+1F5E8 FE0F ; emoji style; # (7.0) LEFT SPEECH BUBBLE
+1F5EF FE0E ; text style;  # (7.0) RIGHT ANGER BUBBLE
+1F5EF FE0F ; emoji style; # (7.0) RIGHT ANGER BUBBLE
+1F5F3 FE0E ; text style;  # (7.0) BALLOT BOX WITH BALLOT
+1F5F3 FE0F ; emoji style; # (7.0) BALLOT BOX WITH BALLOT
+1F5FA FE0E ; text style;  # (7.0) WORLD MAP
+1F5FA FE0F ; emoji style; # (7.0) WORLD MAP
+1F610 FE0E ; text style;  # (6.0) NEUTRAL FACE
+1F610 FE0F ; emoji style; # (6.0) NEUTRAL FACE
+1F687 FE0E ; text style;  # (6.0) METRO
+1F687 FE0F ; emoji style; # (6.0) METRO
+1F68D FE0E ; text style;  # (6.0) ONCOMING BUS
+1F68D FE0F ; emoji style; # (6.0) ONCOMING BUS
+1F691 FE0E ; text style;  # (6.0) AMBULANCE
+1F691 FE0F ; emoji style; # (6.0) AMBULANCE
+1F694 FE0E ; text style;  # (6.0) ONCOMING POLICE CAR
+1F694 FE0F ; emoji style; # (6.0) ONCOMING POLICE CAR
+1F698 FE0E ; text style;  # (6.0) ONCOMING AUTOMOBILE
+1F698 FE0F ; emoji style; # (6.0) ONCOMING AUTOMOBILE
+1F6AD FE0E ; text style;  # (6.0) NO SMOKING SYMBOL
+1F6AD FE0F ; emoji style; # (6.0) NO SMOKING SYMBOL
+1F6B2 FE0E ; text style;  # (6.0) BICYCLE
+1F6B2 FE0F ; emoji style; # (6.0) BICYCLE
+1F6B9 FE0E ; text style;  # (6.0) MENS SYMBOL
+1F6B9 FE0F ; emoji style; # (6.0) MENS SYMBOL
+1F6BA FE0E ; text style;  # (6.0) WOMENS SYMBOL
+1F6BA FE0F ; emoji style; # (6.0) WOMENS SYMBOL
+1F6BC FE0E ; text style;  # (6.0) BABY SYMBOL
+1F6BC FE0F ; emoji style; # (6.0) BABY SYMBOL
+1F6CB FE0E ; text style;  # (7.0) COUCH AND LAMP
+1F6CB FE0F ; emoji style; # (7.0) COUCH AND LAMP
+1F6CD FE0E ; text style;  # (7.0) SHOPPING BAGS
+1F6CD FE0F ; emoji style; # (7.0) SHOPPING BAGS
+1F6CE FE0E ; text style;  # (7.0) BELLHOP BELL
+1F6CE FE0F ; emoji style; # (7.0) BELLHOP BELL
+1F6CF FE0E ; text style;  # (7.0) BED
+1F6CF FE0F ; emoji style; # (7.0) BED
+1F6E0 FE0E ; text style;  # (7.0) HAMMER AND WRENCH
+1F6E0 FE0F ; emoji style; # (7.0) HAMMER AND WRENCH
+1F6E1 FE0E ; text style;  # (7.0) SHIELD
+1F6E1 FE0F ; emoji style; # (7.0) SHIELD
+1F6E2 FE0E ; text style;  # (7.0) OIL DRUM
+1F6E2 FE0F ; emoji style; # (7.0) OIL DRUM
+1F6E3 FE0E ; text style;  # (7.0) MOTORWAY
+1F6E3 FE0F ; emoji style; # (7.0) MOTORWAY
+1F6E4 FE0E ; text style;  # (7.0) RAILWAY TRACK
+1F6E4 FE0F ; emoji style; # (7.0) RAILWAY TRACK
+1F6E5 FE0E ; text style;  # (7.0) MOTOR BOAT
+1F6E5 FE0F ; emoji style; # (7.0) MOTOR BOAT
+1F6E9 FE0E ; text style;  # (7.0) SMALL AIRPLANE
+1F6E9 FE0F ; emoji style; # (7.0) SMALL AIRPLANE
+1F6F0 FE0E ; text style;  # (7.0) SATELLITE
+1F6F0 FE0F ; emoji style; # (7.0) SATELLITE
+1F6F3 FE0E ; text style;  # (7.0) PASSENGER SHIP
+1F6F3 FE0F ; emoji style; # (7.0) PASSENGER SHIP
+
+#Total sequences: 354
+
+#EOF
diff --git a/admin/unidata/emoji-zwj.awk b/admin/unidata/emoji-zwj.awk
index 7d2ff6cb900..c2ee3f2118e 100644
--- a/admin/unidata/emoji-zwj.awk
+++ b/admin/unidata/emoji-zwj.awk
@@ -60,35 +60,25 @@
     vec[elts[1]] =3D vec[elts[1]] "\""
 }
=20
+# The following codepoints may or may not be emoji, but they are part
+# of emoji sequences.  We have code in font.c:font_range that will try
+# to display them with the emoji font anyway.
+/^[0-9A-F]+ FE0F *; emoji style;/ {
+    sub(/ *FE0F .*/, "", $0)
+    trigger_codepoints[$0] =3D $0
+}
+
 END {
      print ";;; emoji-zwj.el --- emoji zwj character composition table  -*=
- lexical-binding:t -*-"
      print ";;; Automatically generated from admin/unidata/emoji-{zwj-,}se=
quences.txt"
      print "(eval-when-compile (require 'regexp-opt))"
=20
-     # The following codepoints are not emoji, but they are part of
-     # emoji sequences.  We have code in font.c:font_range that will
-     # try to display them with the emoji font anyway.
-
-     trigger_codepoints[1] =3D "261D"
-     trigger_codepoints[2] =3D "26F9"
-     trigger_codepoints[3] =3D "270C"
-     trigger_codepoints[4] =3D "270D"
-     trigger_codepoints[5] =3D "2764"
-     trigger_codepoints[6] =3D "1F3CB"
-     trigger_codepoints[7] =3D "1F3CC"
-     trigger_codepoints[8] =3D "1F3F3"
-     trigger_codepoints[9] =3D "1F3F4"
-     trigger_codepoints[10] =3D "1F441"
-     trigger_codepoints[11] =3D "1F574"
-     trigger_codepoints[12] =3D "1F575"
-     trigger_codepoints[13] =3D "1F590"
-
      printf "(setq auto-composition-emoji-eligible-codepoints\n"
      printf "'("
=20
      for (trig in trigger_codepoints)
      {
-         printf("\n?\\N{U+%s}", trigger_codepoints[trig])
+         printf("\n?\\N{U+%s}", trig)
      }
      printf "\n))\n\n"
=20
@@ -97,9 +87,8 @@ END {
=20
      for (trig in trigger_codepoints)
      {
-         codepoint =3D trigger_codepoints[trig]
-         c =3D sprintf("\\N{U+%s}", codepoint)
-         vec[codepoint] =3D vec[codepoint] "\n\"" c "\\N{U+FE0F}\""
+         c =3D sprintf("\\N{U+%s}", trig)
+         vec[trig] =3D vec[trig] "\n\"" c "\\N{U+FE0F}\""
      }
=20
      print "(dolist (elt `("
--=20
2.40.1


--=-=-=--




Acknowledgement sent to Steven Allen <steven@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#63731; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Fri, 2 Jun 2023 12:30:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.