all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Robert Pluim <rpluim@gmail.com>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 63731@debbugs.gnu.org, steven@stebalien.com
Subject: bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate
Date: Fri, 26 May 2023 13:14:27 +0200	[thread overview]
Message-ID: <87mt1rmjjg.fsf@gmail.com> (raw)
In-Reply-To: <83ilcflbua.fsf@gnu.org> (Eli Zaretskii's message of "Fri, 26 May 2023 11:46:05 +0300")

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

    >> From: Robert Pluim <rpluim@gmail.com>
    >> Cc: Steven Allen <steven@stebalien.com>,  63731@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])))
    >> +	       )))

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

Right. Iʼll hold off pushing it 😃

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

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

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

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.

Robert
-- 





  reply	other threads:[~2023-05-26 11:14 UTC|newest]

Thread overview: 61+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-05-26  3:18 bug#63731: [PATCH] Support Emoji Variation Sequence 16 (FE0F) where appropriate Steven Allen
2023-05-26  6:41 ` Eli Zaretskii
2023-05-26  8:34   ` Robert Pluim
2023-05-26  8:46     ` Eli Zaretskii
2023-05-26 11:14       ` Robert Pluim [this message]
2023-05-26 12:06         ` Eli Zaretskii
2023-05-26 14:02           ` Robert Pluim
2023-05-26 14:55             ` Eli Zaretskii
2023-05-26 15:25               ` Robert Pluim
2023-05-26 15:52                 ` Eli Zaretskii
2023-05-26 16:24                   ` Robert Pluim
2023-05-26 17:27                     ` Eli Zaretskii
2023-05-26 17:35                       ` Robert Pluim
2023-05-26 18:05                         ` Eli Zaretskii
2023-05-28 11:43                           ` Robert Pluim
2023-05-28 12:44                             ` Eli Zaretskii
2023-05-26 17:43                       ` Eli Zaretskii
2023-05-28 10:29                         ` Robert Pluim
2023-05-28 12:37                           ` Eli Zaretskii
2023-05-28 11:57                       ` Robert Pluim
2023-05-28 12:47                         ` Eli Zaretskii
2023-05-29 10:44                           ` Robert Pluim
2023-05-29 13:58                             ` Eli Zaretskii
2023-05-29 14:43                               ` Robert Pluim
2023-05-29 14:55                                 ` Eli Zaretskii
2023-05-29 16:13                                   ` Robert Pluim
2023-05-29 17:18                                     ` Eli Zaretskii
2023-05-30  7:25                                       ` Robert Pluim
2023-05-30 12:10                                         ` Eli Zaretskii
2023-05-30 13:30                                           ` Robert Pluim
2023-05-30 16:32                                             ` Eli Zaretskii
2023-05-31 16:11                                               ` Robert Pluim
2023-05-31 16:18                                                 ` Eli Zaretskii
2023-06-01 12:43                                                   ` Eli Zaretskii
2023-06-01 13:30                                                     ` Robert Pluim
2023-06-01 16:10                                                       ` Eli Zaretskii
2023-06-01 16:34                                                         ` Robert Pluim
2023-06-02  8:15                                                           ` Robert Pluim
2023-06-02 12:06                                                             ` Eli Zaretskii
2023-06-02 12:25                                                               ` Robert Pluim
2023-06-02 12:58                                                                 ` Eli Zaretskii
2023-06-02 13:58                                                                   ` Robert Pluim
2023-06-03  5:36                                                                     ` Eli Zaretskii
2023-06-05 13:08                                                                       ` Robert Pluim
2023-06-05 13:12                                                                         ` Eli Zaretskii
2023-06-05 13:31                                                                           ` Eli Zaretskii
2023-06-05 14:06                                                                             ` Robert Pluim
2023-06-05 13:36                                                                           ` Robert Pluim
2023-06-05 13:47                                                                             ` Eli Zaretskii
2023-06-05 14:27                                                                               ` Robert Pluim
2023-06-05 15:35                                                                                 ` Eli Zaretskii
2023-06-05 15:57                                                                                   ` Robert Pluim
2023-06-05 16:20                                                                                     ` Robert Pluim
2023-06-05 16:41                                                                                       ` Eli Zaretskii
2023-06-06  7:24                                                                                         ` Robert Pluim
2023-06-05 16:39                                                                                     ` Eli Zaretskii
2023-06-06  7:28                                                                                       ` Robert Pluim
2023-06-06 11:53                                                                                         ` Eli Zaretskii
2023-05-26 15:06   ` Steven Allen
2023-05-26 15:29     ` Robert Pluim
2023-05-26 16:03       ` Steven Allen

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87mt1rmjjg.fsf@gmail.com \
    --to=rpluim@gmail.com \
    --cc=63731@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=steven@stebalien.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.