I am utilising Gujarati languages on a website designed exclusively for Android devices, but I am having a lot of trouble getting the Gujarati fonts to render correctly. I at least want a workaround to make the Gujarati fonts function, as they are not by default supported on any Android versions. Thus, I did.
The Solution: - Rooting the device - Locating the appropriate unicode Gujarati font; - switching the DroidSansFallback.ttf in System/fonts to the Gujarati font (with some further changes in the fontsfallback.xml file for ICS);
This helped me, if not correctly render Gujarati texts, then at least view them.
1) Issue with Half Forms: Although they should merge, Half Form Letters do not render properly,
You can see exactly how it should render by referring to this faq on unicode.org. I've tried using the "Zero Width Joiner" stated there by using Html codes for each letter using [unicodeLookup], but it has no effect.
Anyways As it is improper but yet within acceptable bounds, this issue is not the main one.
See the two images below; the first is appropriately rendered as viewed on a PC, while the second is a screenshot from an Android native browser. This rendering issue causes the texts to print erroneously.
If you google "Devanagari - Unicode Consortium ch09," you will get a pdf referring to this topic (simply go to "Figure 9-8. Rendering Order in Devanagari") that clearly describes how to render the characters correctly. The problems designated as 1 and 2 are the first and second problems, respectively. If there is anything that can be changed about Android OS to render the fonts in the right order, please do so. It appears that whatever Android uses to render the scripts is not supported for such languages.
This is definitely not a problem with fonts as i have tried using Shruti fonts which is used by windows OS, it is a problem with rendering these complex scripts
Possible Solutions: (unwanted)
1) Using opera mini with bitmap fonts (not my solution)
2) Use Images instead of texts (again not my solution as my site will have 300 lines of lists and that too for mobile, do not want to increase page size)
Please give me a proper solution to this problem, thanks in advance !!