Hi, We are using unity 5 for development. We need to display our regional languages such as Tamil, Malayalam, Hindi, Gujarati in the game scene, but when these language texts are copied in text area its shown re-edited characters and special characters, even we tried to display using the same through script (in script it displaying fine) and xml file it behaving the same. Searched in unity forums but no help available except some 3rd part font creators like TextMesh Pro. Could you please help us to resolve this issue.
This is the issue with unity font system, Unity doesn’t read/apply GPOS and GSUB tables.
I have created custom font asset and custom text component to solve this issue.
You need a Font package the supports the Languages, if the font doesn’t have the supported Devanagari characters for hindi and so on, it will just render as nonsense.
If its not the fonts, you should check your file encoding. Unity (and c# in general) defaults to utf8. Its possible for example that your text editor is opening and saving in a regional format rather than utf8 (for Japanese you get this kind of fun when someone uses shift-jis instead of utf8).
I would also recommend avoiding the use of non-ascii characters in scripts… Monodevelop’s support is somewhat patchy (and you’re also open to the same encoding problems I mentioned above)
You can check out this new asset, works with both Text and TextMeshPro. Cheapest and Best one on the Asset Store. Even works with the Sanskrit language.