Is this how font is supposed to look?

image

The JUCE font is a bit hard to read in comparison with the regular font above.

Windows various font rendering engines (it has more than one) are highly odd, and none of them render fonts the same way as any other OS. In most cases I find Linux/OSX font rendering to be far prettier, but there are also cases where the Windows presentation is better.

That said, I do think fonts look weird in Juce.

The best way to find out what a font really looks like, is to render some text at font size 100 pixels, and then scale it down to the same size as what you want to see, using a good scaling algorithm (Photoshop, ImageMagick or Gimp should do the trick).

Not sure, if that will work for sub-pixel rendering (is it called ClearType?), which seems to be the problem here. The upper rendering has individual sub-pixel colors in it, which the lower one does not, you can see that by zooming in.

Windows uses sub-pixel rendering, juce just get the shapes from windows, and uses its own software-render to fill the shapes. Maybe this could be improved when juce uses the Direct2D render somewhere in the future, so it matches the font-rendering of the OS.

BTW: The screenshot on the top is only looking right when the number of pixels matches the physical resolution of the monitor and has the same RGB order of the LED-Pixel.

Is there a way to disable or change aliasing?

I do get bothered by crappy windows looking app font after developing on OSX.

The Juce font discussion has been going on for years, a search on this forum will give you all the info you want, including discussion by Jules on the pros and cons and choices made for juce.
The summary is, if I remember those discussions well, once we all use hi dpi displays it will no longer matter.

once we all use hi dpi displays

Hm… I’m not sure when that will come to pass.

I did come across one post after asking the question (circa 2006 to 2016) … I completely understand the why. Just wondering if there was a quick flag / fix / device font option.

#define JUCE_USE_DIRECTWRITE 1

Interesting. What exactly is this supposed to do?

Good point about scaling down a huge font: This will not give you any ClearType sub-pixel rendition. However, in my experience, it will still resemble the real look of the font much better despite the missing cleartype.

Enable Juce to use Direct2D font system