Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
3 tasks done
luebking opened this issue Mar 18, 2024 · 5 comments · Fixed by #1551
Closed
3 tasks done

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

luebking opened this issue Mar 18, 2024 · 5 comments · Fixed by #1551
Milestone

Comments

@luebking
Copy link

🗹 Requirements

  • I have searched the issues for my issue and found nothing related and/or helpful
  • I have searched the FAQ for help
  • I have searched the Wiki for help

🎯 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 #156 (comment) ?

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

Example symbols:

  • e0b4
  • e0b6

🔧 Your Setup

  • Which font are you using (e.g. Anonymice Powerline Nerd Font Complete.ttf)?
    • SauceCodeProNerdFont-Regular.ttf
    • MonofurNerdFont-Regular.ttf
  • Where did you get the file from (download link, self patched, source downloaded from link...)
  • Which terminal emulator are you using (e.g. iterm2, urxvt, gnome, konsole)?
    • urxvt
    • alacritty
    • xterm
  • Are you using OS X, Linux or Windows? And which specific version or distribution?
    • archlinux
@Finii
Copy link
Collaborator

Finii commented Mar 20, 2024

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 😭).

In conclusion

  • Maybe switching to greyscale subpixel rendering helps you
  • The round (and other) Powerline glyphs will get a thicker landing-strip soon (but possibly not wide enough to completely remove the effect (i.e. vertical lines) for all users

@Finii Finii added this to the v3.2.0 milestone Mar 20, 2024
@Finii
Copy link
Collaborator

Finii commented Mar 20, 2024

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
Copy link
Collaborator

Finii commented Mar 20, 2024

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
Copy link
Collaborator

Finii commented Mar 20, 2024

Added 7% landing strip to just these two

image
green outline = new, filled = old

Finii added a commit that referenced this issue Mar 20, 2024
[why]
We still fight with the faint lines on the big side of the powerline
glyphs. They come from the LCD antialiasing mode that has problems with
the borders.

Other fonts use far more overlap. We use only a modest amount of overlap
(1% of the width).

[how]
As the other fonts do, increase the overlap (to 6% now).

Add full-hight 'landing platforms' on the outsides of the glyphs,
which are 7% wide.

Related: a8b9e1d
Related: #1245

Fixes: #1547

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
hasecilu pushed a commit to hasecilu/nerd-fonts that referenced this issue Apr 3, 2024
[why]
We still fight with the faint lines on the big side of the powerline
glyphs. They come from the LCD antialiasing mode that has problems with
the borders.

Other fonts use far more overlap. We use only a modest amount of overlap
(1% of the width).

[how]
As the other fonts do, increase the overlap (to 6% now).

Add full-hight 'landing platforms' on the outsides of the glyphs,
which are 7% wide.

Related: a8b9e1d
Related: ryanoasis#1245

Fixes: ryanoasis#1547

Signed-off-by: Fini Jastrow <ulf.fini.jastrow@desy.de>
Copy link
Contributor

This issue has been automatically locked since there has not been any recent activity (i.e. last half year) after it was closed. It helps our maintainers focus on the active issues. If you have found a problem that seems similar, please open a new issue, complete the issue template with all the details necessary to reproduce, and mention this issue as reference.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Sep 30, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants