KelvinShadewing / supertux-advance

A SuperTux game made in Brux GDK with 16bit-style graphics.
GNU Affero General Public License v3.0
85 stars 16 forks source link

Special Character Support #3

Open TheTort opened 3 years ago

TheTort commented 3 years ago

Hello! I am currently making a French Translation for SuperTux Advance, but I have found that the font doesn't support Special Characters, so I Cannot make a Translation in French without these Characters, and I was wondering If you could add support for these Characters.

KelvinShadewing commented 3 years ago

Currently, this is an issue with Brux not supporting characters above ascii 127. I've tried using codepage 437 fonts in the past and found only the first half of them ever get used. I'm going to look into how to use higher-level characters.

Busybody64 commented 3 years ago

This is a bit of a problem.

Especially if i'm going to make a russian translation.

KelvinShadewing commented 3 years ago

It seems Unicode is already supported natively by C++; it just wasn't working because Codepage 437 is not Unicode-compliant. I have a new font for it that I'll add to the game once I have dynamic font width working, since it has a lot of wide characters that would make English and similar alphabets awkwardly spaced without it. So special characters are technically already supported, they just don't play well with others right now.

Busybody64 commented 3 years ago

Do you think you could try to use a copy of the current font that LOOKS like the needed characters? That seems like a patchwork fix, and it is, but it'd allow us to at least translate other languages.

KelvinShadewing commented 3 years ago

Translation can already be done in the language files. I'm working on dynamic-width font support so the unicode font can be used without having huge gaps between each letter or under kerning making square characters overlap each other, which would make Asian languages unreadable.