yvt/openspades

Poor contrast in the chat history UI

yvt opened this issue · 2 comments

yvt commented

The texts are shown in the sender's team color on a dark background, so they can be hard or impossible to read in some cases.

I might be able to have a go at this if I can get myself back up to speed with freetype.
I presume the relevant files are going to include some subset of:

- ChatLogWindow.as
- UIFramework.as

- ClientUI*
- FTfont
- Other 'Font' titled sources?

Also the text on macOS [retina] is a bit blurry* — I remember doing something about retina screens and hinting when I last used freetype but im a bit rusty. If I can think of what it was I'll give it a go and see what happens.
*I might do a build on an old laptop so I actually have a baseline though

yvt commented

Yep, ChatLogWindow is the component for rendering the chat history UI. It internally uses TextViewer to display chat texts.

One possibly way to address this issue is to update TextViewer to draw white glow around texts like ChatWindow does:

float luminosity = color.x + color.y + color.z;
font->DrawShadow(ch, MakeVector2(tx + winX, ty + winY), 1.f, color,
luminosity > 0.9f ? shadowColor : brightShadowColor);

Also the text on macOS [retina] is a bit blurry

That's due to the lack of proper support for DPI scaling. There's an incomplete implementation of DPI scaling in the now-abandoned 0.2.x branch (#838, ff3af0f), which has never been merged to master.