First, please look at Text Rendering article.
Text rendering is the process of converting a string to a format that is readable to the user.
It's 2020 and yet unity doesn't support RTL complex script languages. so I'm looking for render text myself into final result. apparently rendering text get done in higher levels than writing. let me show an example:
U+0633 => س
U+0633 U+0633 => سس (raw string)
you can see there are two of same character but if you type them in windows they render in different shapes. the actual rendered charachters are:
U+FEB3 U+FEB2 => ﺳﺲ (rendered string)
as you can see these two character codes are both different from what they are typed (if you look precisely they are actuality different characters) but the results you see are same so in the middle of way there is an API that renders text properly. according to Microsoft Text Rendering article, normally text get stored in raw format and get rendered when displayed.
Question: is there a simple way in C# (.Net Framework) to convert raw string into rendered string?
example: is there a function to convert "U+0633 U+0633" to "U+FEB3 U+FEB2"? it's probably like what "Uniscribe" or DirectWrite" do, I need to convert what I type to what I see!!!
P.S.:
1- I'm aware of some Unity assets that do this. but they wrote what is available in all systems for many years and they are not complete and sound. I like to do it with OS renderer which is complete and sound.
2- I guess that if it was this easy, Unity developers would use it. so if there is not a straight way, please simply say there is not such thing.
Thanks!