Rendering Tamil characters is a challenge as there is no one glyph to one character mapping as in English.
Earlier versions of Android (before 4.1) does not have this support natively. Which means unless the manufacturer or the author of the ROM decides to additional support, Tamil characters cannot be rendered properly. There were few hacks which helped those users who didn't have such ROMs. But those hacks were not always successful.
With many users lamenting on Google's support pages, I guess Google decided to provide this feature from Android 4.1 onwards.
These are the ability of the vanilla Android ROM (i.e. the factory images for Nexus 4/7/10):
- Display Tamil characters with proper conjunct rendering in browser
- Display Tamil characters with proper conjunct rendering out of browser in file names, SMS, contacts (which means you can have a contact and its details in Tamil characters).
- Display Tamil characters with proper conjunct rendering in apps like notes editor, facebook, twitter, ebook reader etc.
- No keyboard to input Tamil character - Swype has Tamil language support. You even swipe along the keys to type which is much better and much needed input method for Tamil input.
- No interface language as Tamil - which means the menu, home screen, settings etc will not be in Tamil.
I have a rooted LG P500 which runs Android 2.3.3. Thanks to LG which had added support for proper rendering of Tamil characters in contacts, file names, text (SMS) messages and many other apps. With Swype keyboard I am even able to type in Tamil as well.
However, when I tried to use a clone of Cyanogenmod ROM based on Android 4.2.2, I observed that Tamil characters are not even displayed (all characters were displayed as empty space). Replacing fonts didn't do the trick. I later understood that due to limited
/system partition size of my phone, the ROM developer has to chop off some components and I guess whatever did help to render the Tamil characters has been axed.
I also have a Nexus 7 running vanilla Android 4.2.2 and it works superb with Tamil. Again, Swype also works and I am even able to mix and match English and Tamil characters in all apps.
So if you want to ensure Tamil can be read without any user intervention, I would suggest you to buy phones that have Android 4.2 installed. Again chances are there they can be trimmed as my Lg P500 experienced.
Update: I could see this answer being upvoted in spite of being quite old. Now (Marshmallow) Google has provided Indic keyboard support where one can enable Tamil keyboard to type Tamil. Still gesture typing a.k.a swiping across the characters is not supported for Tamil. Same is applicable for many Indic languages.