Support for Arabic text (and other languages where letters are connected)


#1

So, unfortunately, Roblox currently does not support Arabic text. The letters themselves carry over just fine, but the right-to-left character order, and the different forms of the letters (Arabic characters change form depending on the next character) is currently not available. This has been a very big roadblock for many translators, and obviously for the many Arabic players.

Here is an example of what a text box displays, for the word “مرحبا.”

It should be like this:

image

The text is flipped, and the letters aren’t connected. The text input button on the properties channel does show the correct way of writing it.

There are many out there that would be grateful for:

  • Character Direction Implementation.
  • Arabic character connection.

#2

I have been trying to ship a huge change to our text rendering stack which will enable this, for the past few months.

Before:

After:

The technical details are that we will begin using a library called Harfbuzz, which is used for a process called “shaping”, which is the stage in text rendering of converting a string of Unicode codepoints into a string of glyphs for render. In the current system on Roblox, we assume a 1:1 relationship between codepoints and glyphs (with a special case exception for emoji), which is wrong. Many web browsers also use Harfbuzz (Firefox, Chrome, etc.).


#3

The Arabic words are arranged from left to right lol. It read “Lazy dog above jumped fast brown fox.” :stuck_out_tongue:

This is a very valuable change however, estimated release date?


#4

I’m currently fixing a bug, once the fix ships I’ll be able to try turning it on again in ~2 weeks. If no more issues pop up then it will stay on, otherwise we may have to turn it off again.


#5

I don’t know Arabic so I never actually noticed that issue… I’ll look into it, but I won’t let it block release (unless this is actually worse than how it is now?).

This is the source string from the text label, which I got from google translate:

الثعلب البني السريع يقفز فوق الكلب الكسول


#6

Yup, that’s right! Thanks!


#8

I did not give a specific day. I’ve submitted the fix, but it will take a while before it makes its way into a release. It took a while to get through code review.


#9

Any update on this?


#10

I tried to turn the new typesetter on again last week and ended up having to turn it off again. There were two issues that came up and I now have fixes for both of them.

I’ll probably be turning it on again in 2-3 weeks. Hopefully there won’t be further issues that requires the new typesetter to be turned off. I’ll also try to get time to work on making Arabic work properly under the new typesetter soon.


#11

Couldn’t wait for the update so I made this:

https://devforum.roblox.com/t/what-are-you-working-on-currently-2018/72174/2049?u=ninja_deer


#12

Not to mention cursive would be nice :stuck_out_tongue:


#13

New typesetter is live since yesterday and we haven’t had any issues so far.


#14

The new typesetter supports this, but none of our current fonts are cursive. We would have to add a new font for it such as Lobster.

We’re currently avoiding shipping additional fonts because of download size limitations. I want to fix this in the future so that we can ship more fonts.