ryanoasis / nerd-fonts

Iconic font aggregator, collection, & patcher. 3,600+ icons, 50+ patched fonts: Hack, Source Code Pro, more. Glyph collections: Font Awesome, Material Design Icons, Octicons, & more
https://NerdFonts.com
Other
52.69k stars 3.59k forks source link

Straight vertical subpixel rendering e0b4 & e0b6 ./. e0b0 & e0b2 #1547

Closed luebking closed 3 months ago

luebking commented 3 months ago

🗹 Requirements

🎯 Subject of the issue

Experienced behavior: Subpixel rendering e0b4 & e0b6 (round powerline caps) is broken in comparism to e0b0 & e0b2

There's a red vertical bar on right end of e0b6 and a blue vertical bar on left end of e0b4 Happens with at least SauceCode and Monofur

The behavior can somewhat be mitigated by fumbling with the font sizes (heavily depends on TE and DPI, using urxvt and pixelsize I can precisely control this, but not fix it) and the LCD filter (lcdnone and lcdlegacy generally look "bad", but I can find a font size where it's just about fixed - but then there's an even amount of pixels and the glyph vertically off by one. lcddefault and lcdlight will always render a discolored bar - at least I could not fumble it away but for unreasonably -on 96 DPI- large fonts)

There's no such issue with the angular powerline caps, maybe fixed by https://github.com/ryanoasis/nerd-fonts/issues/156#issuecomment-1278487200 ?

Expected behavior: Subpixel rendering e0b4 & e0b6 to be more like that of e0b0 & e0b2

Example symbols:

🔧 Your Setup

Finii commented 3 months ago

Thanks for reporting!

The triangular things ... they were my test to see if the change I applied just to them breaks the rendering for some other users. They were introduced with

after some other different tries like

that fixed the vertical lines but added artifacts in other clients.

This is also related to

because other issues become obvious there.

Thanks for pointing this out, and this has be be unified in some way or another, which will come with #1490.

Anyhow, this is kind of an 'unsolvable' problem because fixing for some will break it for others and we can only compromise where all can live with it. In fact I just turn on greyscale subpixel rendering as the resolution of nowadays displays is high enough (at least for my old eyes) - on Linux. Apple removed LCD subpixel rendering some years ago. And Windows, well, Windows is unfortunately kind of broken and noone seems to care (I can talk so much about Windows text rendering :sob:).

In conclusion

Finii commented 3 months ago

on 96 DPI

ah I see...

Edit: I mean, not see as see, but that is quite low, for todays displays, in my book ;) and then with such display I understand your problem

Finii commented 3 months ago

From the aforementinoed PR

Implement this only for the filled triangles to see how it goes.

Spreading this to the other glyphs now, as there were no complaints.

Finii commented 3 months ago

Added 7% landing strip to just these two

image green outline = new, filled = old