Arabic Text Support


Is Arabic text (right-to-left, letter shaping, etc.) supported with MonoGame on any platforms?

The only reference I can find is this thread which mentions that Arabic/Hebrew support could be better.

I’m not talking about input, merely that I can translate my game and calls to DrawString will render Arabic text correctly on some platforms.

I tried this with a Hello World project. After getting the content pipeline to export the font characters correctly (according to this page, it’s characters 1536 to 1791) I can see the text rendered left-to-right with no joining letters, like this:

The text should look like this:

Are there any plans to support right-to-left fonts and complex rendering (text shaping etc.)?

The built-in text layout and rendering in MonoGame is really simple. It does not support RTL (though you can work around it), ligatures (to combine subsequent letters), proper kerning (only 1 kerning value per glyph is used) or even full Unicode (4-byte UTF-16 chars are not supported, e.g. emoji). There’s lots that needs to be improved, but it will take some time to implement it all due to the complexity :confused:

It’s definitely within the scope of MonoGame to support it all however.