ppy / osu

rhythm is just a *click* away!
https://osu.ppy.sh
MIT License
15.15k stars 2.26k forks source link

Font inconsistency for some regional characters #6925

Open huupoke12 opened 4 years ago

huupoke12 commented 4 years ago

Describe the bug: The current default font for UI doesn't cover the full Latin range, so for Vietnamese, it fallback for the other font to render it. I think it's fine to fallback to the other fonts for different languages since we can't include the font for every languages but there should be only one font chosen for a language. The easiest solution would be choosing another font that cover the full Latin range. I don't know which font are being used in the game, but on the web the Exo font and Open Sans have already cover the Vietnamese. A more difficult solution is doing something like language detection and use that font for that language and only use fallback only if the language can't be detected (Like Firefox browser and fontconfig in Linux).

Screenshots or videos showing encountered issue: lazer-font

osu!lazer version: 2019.1122.0 Logs: Visual bug, don't need log.

leduyquang753 commented 4 years ago

I suggest the issue name be changed as this may happen for other languages too.

peppy commented 4 years ago

This will probably be fixed by changing our font set to match osu-web.

peppy commented 3 years ago

Has this one been resolved with the recent addition of fonts?

huupoke12 commented 3 years ago

No, I just complied from latest git. The Torus typeface doesn't cover the Vietnamese script, and it seems to fallback to Noto Sans.

image

On the web side, it's actually handling this quite good by using Inter typeface (which cover Vietnamese script) for user generated content (chat, forum post, comment) instead of Torus, and using Quicksand typeface (which cover Vietnamese script) for UI when changing web language preference to Vietnamese. There are only some cases on the web, such as beatmap name and artist when using "Show original beatmap metadata", the web search function.

gagahpangeran commented 3 years ago

osu-web is using Quicksand font for vietnamese script character.

https://github.com/ppy/osu-web/blob/654308a5ab5ff0d81f504a0ce8343497b12cccb9/resources/assets/less/variables.less#L12

But I'm not sure if we want add that font into osu!

peppy commented 3 years ago

We may have to in a similar way, only for that edge case (and potentially with similar conditional load rules). Quite low priority anyways, just came across this issue while searching for something else and curious if we resolved it. Seems that's definitely not the case.