yatli / fvim

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

Emojis cut off #71

Open Kethku opened 5 years ago

Kethku commented 5 years ago

image

Win 10 nvim v0.4.0

Setting: if exists('g:fvim_loaded') FVimFontAntialias v:true FVimFontAutohint v:true FVimFontSubpixel v:true FVimFontLcdRender v:true FVimFontHintLevel 'full' FVimFontAutoSnap v:true endif

nree commented 5 years ago

can confirm for Win10 , emoji clips right boundary on most input conditions (but doesn't always clip) for initial render.

Example keying in order: 😀 aa clips slightly (there's 2 spaces there, 3 space is ok) 😀a a is ok 😀aa is not ok 😀😀😀 is ok

Forcing it to redraw screen always ok, unless you start editing right of emoji again. (Btw @yatli how to do full redraw for debugging? Right now I just do <C-f> <C-b> )

Looks like it has to do with fvim waiting to see if the next 3 characters is some sequence for unicode or some other encoding, and creates a big boundary (treats 3 characters as 1) that clips into the emoji.

Looks like it does this for other characters too, just only in emojis you can visually see it... ȧaa etc. will clip ȧ right boundary.

yatli commented 5 years ago

upstream issue: https://github.com/neovim/neovim/issues/7151