I am currently using the iPhone SDK to create an app that utilizes Indic scripts. However, the iPhone has issues with rendering certain glyphs in many Indic scripts. For example:
प + ् + र = प्र
or
ਕ + ੍ + ਰ = ਕ੍ਰ
When you type this on a Mac (or Windows) the computer will automatically render the three characters into the one glyph (प्र - In Unicode it is still represented as three characters however). Because the iPhone doesn't support AAT (Apple Advanced Typography) or advanced OpenType features it renders the characters as three separate which becomes unreadable in many cases. I'm thinking there should be a way to hard code in Objective-C to ensure that every time the three characters show up in a UILabel they should render a certain glyph from the Arial Unicode MS (built-in) font instead. I do not mind using undocumented APIs to accomplish this.
The problem is not the iPhone supports only certain Indic or do not support AAT fonts. The iPhone support AAT table for sure. The problem is the proper AAT font that you use is not included!! U can have few glyph displayed because those ones are inlcude either in arialuni.ttf or helvetica.ttf. But those font do not have any OpenType or AAT tables.
I can confirm with picture what I state, I have a jailbreak iPhone and you can check flickr.com/photos/41161441@N03/ for picture for proper Khmer rendering, which is one of the most complex Indic script.
I explained the problem on modmyi.com web site forum. http://www.modmyi.com/forums/general-iphone-chat/680094-indic-font-rendering-iphone-yes-working.html#post4897261