Neovide: Iosevka ligatures messed up

Created on 22 Jun 2021  路  11Comments  路  Source: Kethku/neovide

image

Looks like our handling of iosevka is wrong.

  1. Determine if this issue is upstream using the swash testing app
  2. Do some investigation about how ligatures are formed with iosevka
  3. Take this learning and adjust the glyph positioning system to handle this edge case
bug

Most helpful comment

Fira Code ligatures display fine
image

Cascadia Code ligatures display fine too
image

Iosevka ligatures don't display at all, is there some kind of guard added to not display them for now?
image
image

All 11 comments

https://github.com/be5invis/Iosevka/issues/1007#issuecomment-842871090

Pretty sure this would be of help

Both Iosevka & Iosevka Term TTF v7.2.4 ligatures display perfectly on my machine.

Iosevka Term ligatures in Neovide

Default Iosevka font's ligatures in Neovide

On the other hand, I am having a different kind of problem with Iosevka Super TTC downloads.
~All~ apps on Windows see Iosevka properly, except for Neovide. Neovide uses the super-light weight. It is understandable, because the first font in the Super TTC is the lightest one.

Iosevka Super TTC

Iosevka Term Super TTC

Perhaps this is because of the way underlying lib handles fonts? It doesn't yet understand TTC?

EDIT: Actually, I lied. In Control Panel > Fonts, Super TTC are also very thin
Iosevka Super TTC fonts in Control Panel
... vs normal TTF download.
Iosevka TTF fonts in Control Panel

Maybe this isn't a Neovide issue after all... but I will leave it here for people, just in case.

I can't stop getting surprised. Only Super TTC download doesn't display in proper weight for some reason. TTC download works just fine.

Iosevka Term TTC

TTC download separates font into collections by weight (so perhaps other font properties don't work in _these_ TTCs, like italics).

Iosevka TTC Files

maybe the problem is i am using a custom build?

@mjoork is that the latest version???

@PyGamer0 Why yes, Iosevka 7.2.4 and Neovide 0.5.0. Perhaps I wasn't clear enough... latest _release_.

EDIT: Actually, Iosevka got updated just 23 minutes ago, now latest is 7.2.5.

Downloaded pre-release 0.7.0 just now and here's how it looks like. Renders perfect ligatures.

Iosevka ligs in neovide 0.7.0

The only thing that bothers me is the missing Windows logo. This is not a big deal, but why would it suddenly disappear?

side-by-side neovide 0.7.0 & 0.5.0

EDIT: After closer inspection, it seems like rendering of ligatures in 0.5.0 was a bit better, because the | + > ligature's bar is lower in 0.7.0, which creates an unpleasent imperfection in vertical alignment. I wonder if someone would even notice it tho. (Given how much ligatures jitter anyway on some sizes in _every_ editor.)

ligatures

EDIT: I take back my words. I don't know whether it is better and I am sorry for creating all this noise. I will stop. Such an artifact is observable at font size of 24pt. At 60pt the difference is almost invisible, and also at 12pt, where you can't even see that one pixel offset, so one can ignore it.

@mjoork That release is old; neovide has updated a lot since then, try getting a build from here

We're working on newer releases but there's some bugs that should be fixed first

@Kethku, @PyGamer0, I see, I will try it. Thank you for being nice to me btw 馃槉

Fira Code ligatures display fine
image

Cascadia Code ligatures display fine too
image

Iosevka ligatures don't display at all, is there some kind of guard added to not display them for now?
image
image

Was this page helpful?
0 / 5 - 0 ratings

Related issues

harish2222 picture harish2222  路  31Comments

reisub0 picture reisub0  路  39Comments

Kethku picture Kethku  路  44Comments

shaunsingh picture shaunsingh  路  27Comments

aj3423 picture aj3423  路  45Comments