Giter Site home page Giter Site logo

Comments (4)

flandreas avatar flandreas commented on September 26, 2024 1

I can confirm that changing the parameter in TextRenderInfoFactoryJvm improves things on Windows, and macOS is still the same (correct). However, I've also noticed that on Windows, the overline's lengths depend heavily on the zoom factor. But this seems to be the case independent on the parameter in TextRenderInfoFactoryJvm.

Recording.2024-04-23.195205.mp4

It also looks like font rendering by itself on Windows is quite unstable with changing zoom factors - with small zoom factors, text rendering gets quite "rough". Much rougher than on macOS.

I'm not an expert in these topics neither, so I guess we can change the parameter to improve some things, and others at least don't get worse.

from antares.

fpw avatar fpw commented on September 26, 2024

As an alternate solution, it would be cool if the user could just drag the switch rectangle size themselves. For situations like the above, it would be more aesthetically pleasing if the switches all had the same size.

from antares.

fpw avatar fpw commented on September 26, 2024

My Java days are long gone, but I noticed that KEY_FRACTIONALMETRICS is not explicitly set on the Graphics2D context. Doesn't that mean that the implementation will decide what's best, i.e. depending on the DPI setting?

This could be relevant because TextRenderInfoFactoryJvm just assumes that it's off when creating the FontRenderContext for measuring. For testing, I changed the last parameter from false to true and that's enough to make it look correct:

grafik

But this also improves various other little things, e.g. before:
grafik

After:
grafik

I believe the FontRenderContext should take the actual settings into account rather than making static assumptions. But as I said - not an expert on this topic, just a wild guess.

from antares.

fpw avatar fpw commented on September 26, 2024

The rough zooming improves by actually enabling the rendering hint for fractional rendering. I suggest this:
g.setRenderingHint(RenderingHints.KEY_FRACTIONALMETRICS, RenderingHints.VALUE_FRACTIONALMETRICS_ON)
in combination with the true parameter in TextRenderInfoFactoryJvm.

I think the current default implementation is to leave it up to Windows GDI.

from antares.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.