yatli / fvim

Cross platform Neovim front-end UI, built with F# + Avalonia
MIT License
1.34k stars 30 forks source link

FVim displaying some symbols weirdly (▶,•,❱,❰,␣,↲) #137

Closed abravalheri closed 4 years ago

abravalheri commented 4 years ago

Hello, thank you very much for the amazing software. I just would like to report an incident when using listchars (specially the linebreak). Apparently there is some trouble with rendering some utf-8 chars. Please find the snapshot bellow comparing fvim (left) and nvim-qt.

set listchars=tab:▶\ ,trail:•,extends:❱,precedes:❰,nbsp:␣,eol:↲

image

(P.S.: I am using WSL on windows 10 with Ubuntu and neovim 0.4.3, Fira Code font, I have tried both installing fvim directly on windows and using the --wsl option and installing fvim directly on wsl + vcxsrv)

yatli commented 4 years ago

Thanks for reporting. Does it only happen with listchars, or is this a general problem about these codepoints? I see the vimrc buffer is also rendered incorrectly.

yatli commented 4 years ago

Try FVimFontNoBuiltInSymbols v:true " Disable built-in Nerd font symbols

abravalheri commented 4 years ago

Thanks @yatli, you were really fast! I don't know if I understood your question correctly, but it seems that these characters are displayed incorrectly regardless if they are being used as listchars, or if I input them manually the buffer.

Unfortunately, the command you indicated doesn't seem to change anything... (tested using both .deb installation and windows binary)

yatli commented 4 years ago

I've updated the issue title and I'll see if I can get a repro on my side.

yatli commented 4 years ago

More likely a font issue? I've got this:

image

The space symbol is missing from my font (Iosevka Slab v2.x, can't remember the exact version)

abravalheri commented 4 years ago

Hi @yatli, thank you for the time spent in this issue. To be sincere I have no idea how font rendering works... Indeed using Iosevka the chars seem to render properly.

But the thing is Fira (and I also tested with Ms Cascadia) are fonts that do support all those chars (indeed they are quite popular for supporting lots of chars used by devs). Neovim-qt seem to not have any problems in rendering them... I wonder if this problem is a combination of method of rendering + specific fonts.

yatli commented 4 years ago

It could be that Neovim-Qt has proper font fallback -- if the symbol doesn't exist in the specified font, it falls back to one that does have support for it. Currently FVim lacks the capability. Nevertheless, let me try with the font you mentioned. :)

yatli commented 4 years ago

With Cascadia I get this:

image

And Fira: image

Are you sure these font support the codepoints? If so then this is an upstream issue, and otherwise it's a fallback mechanism issue.

abravalheri commented 4 years ago

Hi @yatli. I have no knowledge about font rendering so I just supposed that, since nvim-qt displays it, all the glyphs were included in the fonts, but indeed the thing you said should be the case.

Thank you very much. I will close this, since it does not seem to be a really issue.