ForNeVeR / ForNeVeR/O21

Improve text rendering

Open
#62 0 comments 0 reactions 0 assignees View on GitHub
enhancement help wanted
Dominant language
F#
Stars
30
Forks
9
PR merge metrics
No merged PRs in 30d

Description

Currently, our text rendering (in places we need text: main menu and help) is pretty awful.

Why?

Because of several problems.

1. MonoGame doesn't seem to properly handle font kerning (even though it is enabled in our `.spritefont`, it is clear it is not taken into account when rendering).
2. We use a weird technique for resizing of the game content.

We need this because the original game content has a pretty small size, and we currently render it in the original size and then resample it to fit the screen better.

We uniformly use the same approach for everything we render, and this means the fonts have much worse quality than they could, provided the user's screen size.
3. I'm not sure what happens with font antialiasing and subpixel antialiasing in MonoGame, but that leads to letters not having good quality.

What can we do?

1. Render fonts to a separate render target (or directly to the screen), for them to have normal quality.
2. Investigate antialiasing settings (if any) in MonoGame, and choose the best one.
3. [See this note](https://roy-t.nl/2018/07/04/Text-Rendering.html) on using of the multi-channel distance fields (yep, that's a thing!) in MonoGame. There's a couple of accompanying repositories for the note.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.