As a Roblox developer, it is currently too hard to …
Comprehend that Roblox Studio will have the Qt stuff replaced by Luau, but the font rendering type is not the same as the previous one
Have text like on Windows Applicatons for Studio custom tools.
Or control how font gets smoothed out, if you have really small text, like in this image
Whatever is happening to that small text. Pixel-wise, it was completely destroyed.
If Roblox is able to address this issue, it would improve my development experience because …
You could control how small sized font would appear. You could control if a font should appear pixelated or smoothened out.
Text would have the ability to be more clearer to read and consistent to other Windows Applications and Qt.
And if Roblox replaces things with the Luau Version, they could use the same font rendering technique like the old Qt things had.
Especially, if they plan to release a UI Engine Version of the Script Editor…
Have you noticed how font appears if…
- You’ve used Canvas HTML and methods before to render a text on a Canvas.
- You’ve used Microsoft Paint
- You’ve used Adobe Photoshop.
Description
This is a screenshot taken from Roblox Studio’s Qt Button labeled as “File”.
If you zoom in, you’ll notice that it actually is built up like this:
There’s this “strange” blue and orange pixel. This is intended and is apparently called ClearType from Microsoft.
ClearType
https://learn.microsoft.com/en-us/typography/cleartype/
Take a look at Microsoft’s image example:
Summary
You’ll realize, that the text at the top is pixelated, and has no sort of refinement.
While the bottom one is way more clear
Now, the current one is also clear, but maybe there’s going to be cases were one of the two is going to appear sharper.
Microsoft doesn’t apply ClearType on everything for some reason, even on browsers, not sure why, but most of the times it’s there. There was also a discussion that sometimes it doesn’t appear well on transparent backgrounds. It probably depends on what it renders on.
Now, Apple doesn’t use ClearType, they do something else, not really sure. Apparently, somewhere it’s called “Quartz Engine”, and somewhere there’s just this quote:
https://superuser.com/a/969734
Thing is that this appears different on OLED compared to LCD. And that ClearType was made to address LCD issues.
There were also comparisons, where someone took microscopic images of the screens, to compare how well the fonts appear on the screen.
Photoshop also has some font smoothing options, and there seems to be various types.
It would be interesting, if we would have the ability to control this on Roblox.
Roblox Studio’s generation where it will only use its own UI Engine
There’s going to be a lot of things happening.
The Explorer and Properties built-in will one day be replaced with the Luau Version, which uses the UI Engine from Roblox.
If that happens, you’d be taking away this ClearType feature from Qt:
Because the Roblox Engine doesn’t use ClearType. So, replacing Explorer Qt with Next Gen Explorer would remove ClearType, which makes things seem inconsistent. Because Visual Studio uses the same technique and etc. but Roblox Studio wouldn’t be consistent anymore with how it renders fonts. (Along with the DPI Issues).
Then there’s many other games that simulate website a-like games, where it could benefit if we would have the ability to control how the font renders on the screen.
Changing how a font renders, probably will also solve issues where the font is way too small?
As example, in this image:
The top left text is completely being chopped off by whatever is causing the font smoothing on it. It would benefit if there would be ability to choose whether the font should be pixelated or etc.
Font Rendering options would be very cool to experiment with.
Then there’s the Universal App. There’s two things it has that I want to point out.
- The UI Engine
- Deep Linking System
I believe the Deep Linking Service, is the system that will pop-up a browser while you have the Roblox App open, where you can see your Avatar and etc.
Whenever that happens, you’re actually using a piece of Microsoft Edge, which is WebView2, and that renders all the fonts in that ClearType style.
It appears better and does not have the same issues like Roblox’s UI Engine does.
The UI Engine doesn’t do any of that. But the Universal App to me, seems to be an imitation of the Roblox Website and Features. And the font rendering appears different on the Browser. And Roblox Text Instances dont’ seem to have any option to customize the font rendering.
If it was described as UI Engine, I expect it to offer a lot of things.