String.upper() should work on non English letters

As a Roblox developer, it is currently too hard to capitalise non English letters such as Ė, Š, Ū, etc using string.upper() in a game. The letter stays uncapitalised even with using string.upper().

If Roblox is able to address this issue, it would improve my development experience because it allows for consistent and clean UI design while displaying text, even if the text contains non English letters.


As you can see, the top text has an uncapitalised letter because string.upper() does not work on it.

8 Likes

This probably isn’t going to happen because the string functions only work on normal ASCII characters. What you’re looking to do would probably be supported by the UTF-8 library, but there’s been no word on that as far as I know. There is a suggestion for them posted here.

4 Likes

Hmm, should I mark as a solution and redirect to that link in that case?

No, it shouldn’t.
For the UTF-8 library, sure.
But ASCII operates purely on a single-byte range.
Changing that would bloat everything and majorly deoptimize everything.

This only works on ASCII as you can add/subtract 32 to each char if its in a given range.

UTF8 chars would need a special library, especially considering the fact you’re working with variable length encoding.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.