blinksh / blinksh/blink

Issues with emoji support

Open
#863 3 comments 4 reactions 0 assignees View on GitHub
Dominant language
Swift
Stars
6.9k
Forks
746
PR merge metrics
No merged PRs in 30d

Description

I will admit that I only have a millimeter deep understanding of this, but based on what I can gather, Blink does not seem(?) to have complete emoji support, and is certainly missing color emoji.

For example, when pasting into Blink:
👨🏿‍🏫

Blink renders it as:
![](https://p99.f4.n0.cdn.getcloudapp.com/items/nOuWrQg2/5C0398F1-D49C-4BC4-86BC-A443176D5BA1.jpeg?v=a00afc8678b798725965438330df7267)

This is particularly problematic for editing in vim any files that contain emoji with skin color. These emoji get this `<200d>` blob and then for the rest of the line, the cursor is not on the character where it appears. (In the example below, the cursor is actually on the space prior to the word "Artists")
![](https://p99.f4.n0.cdn.getcloudapp.com/items/QwuQzBdR/B941B3CE-BA42-4A77-80D7-0AF7FE7BA2B5.jpeg?v=e6fc3164597bd520a4f4dd46efdedf6e)

I do get the same `<200d>` and the cursor bug shows up when opening unicode standard's [test-emoji.txt](https://unicode.org/Public/emoji/5.0/emoji-test.txt) file.

I fully understand this actually might be a bug well beyond Blink itself, but at a minimum, Blink itself does not seem to properly handle color emoji or some of the newer emoji like "professor", as illustrated by the first example.

When I am able to, I will test a different combination of servers and clients to try to narrow down the consistency in these issues.

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the rendering and cursor-position problems in Blink using Unicode's test-emoji.txt, then compare results across the server and client combinations mentioned in the issue. Done means determining Blink's role in the color-emoji and skin-tone/ZWJ handling problems and addressing the resulting display and cursor misalignment.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift, vim
Domain
mobile-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.