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

Previous Next

Package: emacs;

Reported by: Steven Allen <steven <at> stebalien.com>

Date: Fri, 26 May 2023 03:19:01 UTC

Severity: normal

Tags: fixed, patch

Fixed in version 29.1

Done: Robert Pluim <rpluim <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Robert Pluim <rpluim <at> gmail.com>
To: Steven Allen <steven <at> stebalien.com>
Cc: Eli Zaretskii <eliz <at> gnu.org>, 63731 <at> debbugs.gnu.org
Subject: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate
Date: Fri, 26 May 2023 17:29:41 +0200
>>>>> On Fri, 26 May 2023 08:06:11 -0700, Steven Allen <steven <at> stebalien.com> said:

    Steven> Eli Zaretskii <eliz <at> gnu.org> 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.

    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ʼs smaller, thatʼs for sure. And it will definitely be faster.

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

    Steven> https://git.savannah.gnu.org/cgit/emacs.git/tree/admin/unidata/emoji-zwj.awk?h=4b3de748b0b04407d2492500c77905de56de1180#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 expert here.

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

Robert
-- 




This bug report was last modified 1 year and 350 days ago.

Previous Next


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