yatli / fvim

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

not all char from nerd font loaded correctly #256

Open xarthurx opened 1 year ago

xarthurx commented 1 year ago

FVIM: image

Terminal: image

nvim-qt: image

As you can see above, the "arrow" char is not shown correctly in FVIM. (nvim-qt is not using the nerd version, you can see from the status bar, but still show this char correctly)

Terminal version nvim shows everything correctly.

WillEhrendreich commented 1 year ago

I think this has to do with nerd font changing the layout in version 3... or something.

xarthurx commented 1 year ago

Additional info here:

image

WillEhrendreich commented 1 year ago

the "mapping" of the nerdfonts is done incorrectly, because of a breaking change from nerd font.

https://github.com/ryanoasis/nerd-fonts/issues/1059 https://github.com/ryanoasis/nerd-fonts/issues/365

any nerd font 3.0 or greater it seems is unable to work, fvim is pointing to the wrong place for the icons.

you'll see it working if you change your font to an old version of iosevka nf, like the one included in the repo.

I have also created an issue, and tagged @yatli, however he seems likely to be busy and possibly unable to help, as I've gotten no response. I can't imagine how hard it must be to support a bunch of users for free on the internet, so I completely understand that it is likely just out of scope for him to jump at every issue. Open source is just hard it seems, for both the contributors and the users at times.

I know he has and still does accept pr's from time to time. Maybe we as the fvim community can come to the rescue here!

So, I don't know if it is relevant, but someone wrote this python script to do some sort of conversion, but I'm not sure how it interacts with something like fvim. It may be helpful so, I'm linking it here:

https://gist.github.com/mischw/78e8e42c2ebb1069560a2fc4573b1425

This is the last commit that dealt with this sort of thing that I can see, so perhaps this gives us enough information to create a pr?

https://github.com/yatli/fvim/commit/2dc1579112c4c9fdb30b55d69934a8c9be425991

I think this is the most relevant part.. as I don't think the txt file is referenced explicitly, or, at least I would guess that yatli would write this as type safe as possible, instead, as keeping super type safe is kinda the fsharp mindset.
https://github.com/yatli/fvim/blob/2dc1579112c4c9fdb30b55d69934a8c9be425991/wcwidth.fs#L499

xarthurx commented 1 year ago

the "mapping" of the nerdfonts is done incorrectly, because of a breaking change from nerd font.

ryanoasis/nerd-fonts#1059 ryanoasis/nerd-fonts#365

any nerd font 3.0 or greater it seems is unable to work, fvim is pointing to the wrong place for the icons.

you'll see it working if you change your font to an old version of iosevka nf, like the one included in the repo.

I have also created an issue, and tagged @yatli, however he seems likely to be busy and possibly unable to help, as I've gotten no response. I can't imagine how hard it must be to support a bunch of users for free on the internet, so I completely understand that it is likely just out of scope for him to jump at every issue. Open source is just hard it seems, for both the contributors and the users at times.

I know he has and still does accept pr's from time to time. Maybe we as the fvim community can come to the rescue here!

So, I don't know if it is relevant, but someone wrote this python script to do some sort of conversion, but I'm not sure how it interacts with something like fvim. It may be helpful so, I'm linking it here:

https://gist.github.com/mischw/78e8e42c2ebb1069560a2fc4573b1425

This is the last commit that dealt with this sort of thing that I can see, so perhaps this gives us enough information to create a pr?

2dc1579

I think this is the most relevant part.. as I don't think the txt file is referenced explicitly, or, at least I would guess that yatli would write this as type safe as possible, instead, as keeping super type safe is kinda the fsharp mindset.

https://github.com/yatli/fvim/blob/2dc1579112c4c9fdb30b55d69934a8c9be425991/wcwidth.fs#L499

This should be helpful to fix this issue. It is a bit unfortunate that I know nothing about F#... Seems we can only hope @yatli can have time for this at some point.