Closed Bug 631159 Opened 13 years ago Closed 5 years ago

Not able to read web pages containig Tamil, Kannada or Malayalam (unicode - indic group) texts

Categories

(Firefox for Android Graveyard :: General, defect)

defect
Not set
normal

Tracking

(Not tracked)

RESOLVED WONTFIX

People

(Reporter: mugunth, Unassigned)

References

Details

User-Agent:       Mozilla/5.0 (Windows NT 5.1; rv:2.0b10) Gecko/20100101 Firefox/4.0b10
Build Identifier: 

When I try to read webpages containg tamil texts (eg. http://ta.wikipedia.org), I see all boxes. 


Reproducible: Always

Steps to Reproduce:
Browse to website http://ta.wikipedia.org using firefox mobile in Android 2.2 OS
If the new harfbuzz shaper doesnt support tamil script rendering (as hinted in this bug: https://bugzilla.mozilla.org/show_bug.cgi?id=619524 ), is it possible to provide any alternate way to show tamil scripts?
Are the appropriate fonts installed on your device?
There are two issues here: font availability and text shaping. You see "boxes" because the device does not have a font that covers the Tamil character set. But even if such a font were made available - by installing it locally on the device, by shipping it with Fennec, or as a webfont - the text would still not be rendered correctly because harfbuzz does not support Tamil (or other Indic scripts) yet. So you'd see the individual glyphs, but they would not behave correctly - reordering, combinations, etc would be missing.
Status: UNCONFIRMED → NEW
Depends on: 619524
Ever confirmed: true
Depends on: 619521
Its easy for an user to copy an opensource tamil unicode font to their mobile phone (since there are lot of free/opensource tamil fonts available in the net). So availability of fonts issue need not be taken up here. 

The main issue is rendering. I reckon old version of harfbuzz supported tamil rendering(not able to confirm this). And the new version of harfbuzz is yet to support - but i hope it will support eventually.

And Pango had tamil support for a long time. 

As an ordinary tamil user, its very much a step backward if we dont support Tamil rendering in smart phones(whereas even basic nokia phone supported tamil unicode for years).

There are large number of android phones in use already which has version 1.6 to current 2.3. They wont have native android tamil support for forseable future.

We mozilla community has to find a way resolve this. Either by using pango or 
fixing the harfbuzz bug for tamil rending and bundling it.
Hi All,
2 questions that may help android/firefox users to read tamil:

1. Is there any way to set fennec to use a custom font (example: a tamil unicode font) to render tamil web pages ?

2. What rendering engine is used by Fennec - is it harfbuzz?
I have already installed Indic fonts on my phone and am facing the problems as described by jfkthame . I get the problem in Kannada and Malayalam.
(In reply to Muguntharaj from comment #5)

> 1. Is there any way to set fennec to use a custom font (example: a tamil
> unicode font) to render tamil web pages ?

If Tamil characters are not present in the default font or the font specified in CSS, font fallback will automatically look for another font that does support them. So provided there's a Tamil font installed, this shouldn't be a problem. 

> 2. What rendering engine is used by Fennec - is it harfbuzz?

Yes. There's work in progress to add Indic-script support to harfbuzz. When that is ready, these scripts should work in Firefox on Android. Until then, they're not supported, sorry.
(In reply to Jonathan Kew (:jfkthame) from comment #7)
> (In reply to Muguntharaj from comment #5)
> 
> > 1. Is there any way to set fennec to use a custom font (example: a tamil
> > unicode font) to render tamil web pages ?
> 
> If Tamil characters are not present in the default font or the font
> specified in CSS, font fallback will automatically look for another font
> that does support them. So provided there's a Tamil font installed, this
> shouldn't be a problem. 

Hi Jonathan,
Thanks for your reply.

I am not clear about the meaning of font installation in android. 
We cannot replace any android system fonts without rooting. Most users will not be able to their android phones for obvious reasons.

Instead its easy for any user to copy a Tamil font into some folder inside their android phone. 

My question(also this bug) is targeted at fennec users with above scenario. Let me summarize:

1. The user have an android phone that has doesnt have any Tamil fonts (almost all android phones until version:2.3.3 fall under this category)

2. The user has copied some unicode fonts into their phone(without rooting their phone)

3. user has also installed fennec in their phone.

With the above 3 scenario, is there any way we can configure fennec to use the Tamil font from their custom font location (no.2) ?


> 
> > 2. What rendering engine is used by Fennec - is it harfbuzz?
> 
> Yes. There's work in progress to add Indic-script support to harfbuzz. When
> that is ready, these scripts should work in Firefox on Android. Until then,
> they're not supported, sorry.

AFAIK, harbuzz (harfbuzz_ng) already got required indic support. I tested the tamil rendering and have published the results here: http://lists.freedesktop.org/archives/harfbuzz/2011-September/001570.html 
So if fennec is compiled with the latest harfbuzz code, this should be fixed.

I am also not sure if the existing fennec already uses latest harfbuzz code - We could test this if we could set interface font from a custom location (my earlier question).
(In reply to Muguntharaj from comment #8)
> (In reply to Jonathan Kew (:jfkthame) from comment #7)
> > (In reply to Muguntharaj from comment #5)
> > 
> > > 1. Is there any way to set fennec to use a custom font (example: a tamil
> > > unicode font) to render tamil web pages ?
> > 
> > If Tamil characters are not present in the default font or the font
> > specified in CSS, font fallback will automatically look for another font
> > that does support them. So provided there's a Tamil font installed, this
> > shouldn't be a problem. 
> 
> Hi Jonathan,
> Thanks for your reply.
> 
> I am not clear about the meaning of font installation in android. 
> We cannot replace any android system fonts without rooting. Most users will
> not be able to their android phones for obvious reasons.
> 
> Instead its easy for any user to copy a Tamil font into some folder inside
> their android phone. 
> 
> My question(also this bug) is targeted at fennec users with above scenario.
> Let me summarize:
> 
> 1. The user have an android phone that has doesnt have any Tamil fonts
> (almost all android phones until version:2.3.3 fall under this category)
> 
> 2. The user has copied some unicode fonts into their phone(without rooting
> their phone)
> 
> 3. user has also installed fennec in their phone.
> 
> With the above 3 scenario, is there any way we can configure fennec to use
> the Tamil font from their custom font location (no.2) ?

No, I don't see how fennec can be expected to find and use fonts that just happen to be in some "random" directory on the phone. It could be made to look in some specific place (in addition to the system fonts directory), but how many users would understand how to install fonts into the correct location for it? This could be useful for "power users" who understand directory paths, etc., but it's not a solution for widespread use.

Bug 619521 is about providing fonts for scripts/languages where the standard fonts on the device don't provide coverage.

> > > 2. What rendering engine is used by Fennec - is it harfbuzz?
> > 
> > Yes. There's work in progress to add Indic-script support to harfbuzz. When
> > that is ready, these scripts should work in Firefox on Android. Until then,
> > they're not supported, sorry.
> 
> AFAIK, harbuzz (harfbuzz_ng) already got required indic support. I tested
> the tamil rendering and have published the results here:
> http://lists.freedesktop.org/archives/harfbuzz/2011-September/001570.html 
> So if fennec is compiled with the latest harfbuzz code, this should be fixed.
> 
> I am also not sure if the existing fennec already uses latest harfbuzz code
> - We could test this if we could set interface font from a custom location
> (my earlier question).

No, it's using an older release that does not have indic support. We will of course be updating this, but the indic support in harfbuzz-ng still needs more extensive testing and debugging, and the integration into mozilla will involve some work (not just dropping in new code from upstream) as there have been API changes since the earlier version we're using.

So this will be coming, but it's not ready yet.
All said and done, how does the desktop version of firefox manage to render indic fonts?
It uses various platform-specific text-shaping APIs (Uniscribe, DirectWrite, Core Text, Pango) for scripts that aren't yet supported via harfbuzz.
can fonts be considered as 'addons' ? Is it possible to install fonts throgh xpi/extensions and get it used by fennec?
Depends on: 758236
Depends on: 780409
(In reply to Jonathan Kew (:jfkthame) from comment #11)
> It uses various platform-specific text-shaping APIs (Uniscribe, DirectWrite,
> Core Text, Pango) for scripts that aren't yet supported via harfbuzz.

Harfbuzz now has support for the Indic scripts, so this should no longer be a barrier to using Indian languages on Firefox mobile.

Font availability may still be an issue, depending on the specific device, but provided a suitable (Unicode-compliant, OpenType-enabled) font is available, it should work correctly.

(In reply to Laxminarayan G Kamath A from comment #12)
> can fonts be considered as 'addons' ? Is it possible to install fonts throgh
> xpi/extensions and get it used by fennec?

Yes, this is possible.

See https://addons.mozilla.org/en-US/firefox/addon/khmer-fonts-package/ for an add-on that does this for Khmer; it should be possible to create similar packages for Tamil or other scripts.
Depends on: 648548
No longer depends on: 619521
Updating the summary per comment 6. I'm working on bug 648548 and bug 619521. If you have any open source suggestion to cover these scripts, please let me know.
(In reply to Frédéric Wang (:fredw) from comment #14)
> Updating the summary per comment 6. I'm working on bug 648548 and bug
> 619521. If you have any open source suggestion to cover these scripts,
> please let me know.

Google's Noto fonts would probably be a good choice to cover many scripts.

https://code.google.com/p/noto/
(In reply to Jonathan Kew (:jfkthame) from comment #15)
> (In reply to Frédéric Wang (:fredw) from comment #14)
> > Updating the summary per comment 6. I'm working on bug 648548 and bug
> > 619521. If you have any open source suggestion to cover these scripts,
> > please let me know.
> 
> Google's Noto fonts would probably be a good choice to cover many scripts.
> 
> https://code.google.com/p/noto/

Thanks!

(really changing the bug summary)
Summary: Not able to read web pages containig tamil (unicode - indic group) texts → Not able to read web pages containig Tamil, Kannada or Malayalam (unicode - indic group) texts
Closing all opened bug in a graveyard component
Status: NEW → RESOLVED
Closed: 5 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.