I try to use a special char in neovim. But it does not appear correctly on my env (arch linux).
I opened neovim-qt, input this special char by typing its unicode value in insert mode, type Ctrl+V, then 'U1f390', then back to normal mode.
I just install infinality-bundle-fonts/ttf-symbola-ib in linux.
Here is the screenshot in neovim-qt:

I also launch gvim and input the same, it can show wind bell char correctly.

There are a few chars (emoji) have the same issue.
If there is setting I should do to make it work ?
If there is setting I should do to make it work ?
No, this doesn't seem to be working right now.
I see that the paint event iterates over Cell, which is backed by a QChar. This character is two surrogate pairs, so it can't work that easily. Maybe each Cell should store two QChars because to draw the text you will need potentially two. The on the paint event join the two in the QString used for drawText.
@suy but shouldn't Neovim treat this a single utf8 char?
Might be easier to replace the use of QChar with QString instead.
Opened https://github.com/equalsraf/neovim-qt/pull/141 it draws the char correctly.
One noticeable difference is that gVim (and Vim) seems to treat this as a wide char, but Neovim does not, in the terminal this is a bit harder to test, but check column number in the ruler.
I have no idea how data gets into the Cell objects. :) I just started looking at neovim-qt code, and I found the rendering, but I don't know how it reaches there. Using a QString for each Cell might be a bit memory fragmented (and wasteful) without small string optimization (which may arrive in Qt6, who knows). I would go with the two QChar if possible. Can't the whole line be in a single QString?
@suy, yes I ended up following your suggestion, in #141 the cell now holds a second QChar for the lower surrogate.
Can't the whole line be in a single QString?
It could but it would likely be worse when redrawing parts of the line.
Is this something that can/should be fixed in nvim?
@justinmk not sure, didn't have a look at neovim yet. To me it seems this particular char is handled differently in Vim and Neovim, but I dont know why it should.
i.e. should the wind chime unicode char be a double cell char or not? If not then we are doing it ok, if yes then there is probably something wrong in Neovim.
Nevermind, the difference in behaviour between Neovim and Vim is due to vim patch 1960 which is already in Neovim master branch (https://github.com/neovim/neovim/commit/6e79a4d7f640369834d782fb71c62e8bf14b2dc3) i.e. all is well on the Neovim side, I just need to finalize the PR and this issue should be fixed.
It seems that neovim-qt still can not show some unicode characters correctly. While in terminal vim, there are show correctly. Any progress?
I cannot even paste from system buffer unicode strings - they shows as utf code .
This is an old issue, and wide characters are generally supported, tested with v0.2.16.

Please file a new bug if you see specific wide-character rendering issues. Marking as closed.
Most helpful comment
It seems that neovim-qt still can not show some unicode characters correctly. While in terminal vim, there are show correctly. Any progress?