Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow "emoji presentation selector" in emoji-only sequences when parsing for big emoji display #17848

Closed
smithfred opened this issue Jun 30, 2021 · 1 comment · Fixed by matrix-org/matrix-react-sdk#11253
Assignees

Comments

@smithfred
Copy link

Some native OS emoji pickers (e.g. GNOME) explicitly add, after the inserted emoji, the "emoji presentation character" U+FE0F, which is an explicit request to present the previous character as an emoji instead of a text character - see https://www.unicode.org/reports/tr51/#Emoji_Variation_Sequences

The big emoji logic doesn't handle this character being present, so emoji sequences inserted this way end up small.

To reproduce

For each of the below emoji sequences, copy/paste into the message field and hit Enter. The first sequence has a U+FE0F between the first emoji and the space. The second doesn't.

  1. 😄️ 😄

  2. 😄 😄

Actual result

  1. Small emoji.
  2. Big emoji.

Expected result

  1. Big emoji.
  2. Big emoji.
@smithfred
Copy link
Author

Additional info: https://www.unicode.org/reports/tr51/tr51-15.html#Presentation_Style

Although arguably an emoji picker adding the emoji presentation selector to a character with only an emoji presentation is pointless and likely to lead to bugs like the above, it makes sense to do so when the character has two possible presentations, so Element should handle this correctly.

I will file a bug with GNOME (actually GTK) separately about only using it when necessary.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants