Subject: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate

From: Eli Zaretskii <[email-masked]>
Date: Fri, 26 May 2023 17:55:26 +0300

> From: Robert Pluim <[email-masked]>
> Cc: [email-masked],  [email-masked]
> 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?