Skip to content

font rendering is poor #233

Description

@flukejones

Skia:

Image

Femtovg

Image

As seen in the images. You can really see it with the word "Keyboard". The last release of cosmic-text was August last year. It might be worth trying their git directly as I recall cosmic desktop had similar issues but recently seems to be much better.

Activity

  1. expenses commented on Sep 1, 2025

    @expenses
    Contributor

    I just came from the slint issue. I believe that the problem is poor handling of high or mixed window scale factors (aka DPI or how close the pixels are on a screen). I'm using Wayland with a scale factor of 1.566667. When the text demo first opens it draws the first frame then stalls for a second or so. The fonts looks fine albeit blurry, but then once it responds to the window scale factor (I think it just defaults to 1 until notified otherwise) then it looks bad.

  2. expenses commented on Sep 1, 2025

    @expenses
    Contributor
    Image

    Initial load. Fine but being upscaled 1.5x so it's blurry.

    Image

    Subsequent draws. Really messed up.

  3. expenses commented on Sep 1, 2025

    @expenses
    Contributor
    Image

    and finally here's what it looks like when I set the scale factor in hyprland (my linux window manager) to 1. Looks fine :)

  4. nicoburns commented on Sep 3, 2025

    @nicoburns
    Contributor

    Looks like it might be snapping glyphs to logical pixels rather than physical pixels...

  5. sumibi-yakitori commented on Feb 27, 2026

    @sumibi-yakitori
    Contributor

    Up to version 0.17, fonts were rendered at high resolution, at least on macOS HiDPI displays, so I think this issue arose due to changes made after that point.

  6. tronical commented on Feb 28, 2026

    @tronical
    Member

    I recommend enabling the swash feature in Cargo to get swash rasterized glyphs, which looks significantly better.

    Please give it a try and let us know. (Next Slint release also enables it)

  7. sumibi-yakitori commented on Mar 1, 2026

    @sumibi-yakitori
    Contributor
    femtovg = "0.17"
    Image
    Image
    femtovg = { version = "0.20", features = [ "swash" ] }
    Image
    Image

    Unfortunately, it doesn't seem to be improving.

  8. dfseifert commented on Apr 5, 2026

    @dfseifert

    Not directy related but just an fyi.

    There has been ongoing effort by harfbuzz to level up the rust implementation (see new harfrust), thus replacing the older rustybuzz implementation.

    maybe this could also have some benefits here.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions