Quick answer: Pygame text looking different on Windows vs Linux after upgrading SDL_ttf? Font hinting defaults differ - set hinter explicitly via Font.set_hinting.
UI text crisp on Windows. Same code on Linux looks blurry. Both running pygame 2.5 but different SDL_ttf versions.
Set hinter explicitly
font.set_hinting(pygame.font.HINT_NORMAL)Default depends on the SDL_ttf build. Explicit value gives consistent rendering across OSes.
Or use FreeType directly
For perfect consistency, pygame.freetype exposes the FreeType rasterizer directly. Same output regardless of platform.
Embed your font
Don't rely on system fonts. A bundled TTF eliminates one source of OS-dependent variation.
“Cross-platform text rendering is full of platform-specific decisions. Override the ones that matter.”
Take screenshots of your text on every supported OS. Visual diffs catch font drift faster than reading specs.