Closed Bug 240914 Opened 20 years ago Closed 17 years ago

"text-align: justify" ruins Unicode combining characters (e.g. Devanagari, Tamil, Bengali,Malayalam,Kannada)

Categories

(Core :: Layout: Text and Fonts, defect)

x86
Windows XP
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jc, Assigned: pavlov)

References

()

Details

(Keywords: intl)

Attachments

(2 files)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b) Gecko/20040316
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.7b) Gecko/20040316

Bangla fonts require unicode glyphs to be combined. Text justify prevents
unicode characters from combining - perhaps because of insertion of spacers?

Reproducible: Always
Steps to Reproduce:
1. Look at the page in IE
2. Look at the page in Mozilla
3.

Actual Results:  
dotted circles appear between characters that should have combined.

Expected Results:  
the characters should have combined.
Summary: Unicode combinant characters ruined with text justify → Unicode combining characters ruined with text-align: justify
This could well be resolved as a dupe of bug 218887, but I'm just making it
depend on bug 218887, instead for a better (?) tracking. 

What's happening is that Mozilla-Win uses the standard Windows text
drawing/measuring APIs that work well for 'unjustified' text (complex or not),
but that breaks down when it comes to justified text. The best way to fix is to
use Uniscribe like MS IE does, which is what bug 218887 is about.
Assignee: nobody → jshin
Status: UNCONFIRMED → NEW
Depends on: uniscribe
Ever confirmed: true
Keywords: intl
I have found the same problem with Devanagari text, but interestingly not with
combining characters in Arabic text.
That is because Mozilla has its own character shaping routines for Arabic text
which it uses when necessary, but not for Indic or other scripts.
*** Bug 278291 has been marked as a duplicate of this bug. ***
*** Bug 270012 has been marked as a duplicate of this bug. ***
Summary: Unicode combining characters ruined with text-align: justify → Unicode combining characters (e.g. Devanagari, Tamil, Malayalam ) ruined with text-align: justify
The problem also exist on Linux with Pango, etc. Firefox 1.0.2 on Fedora Core 3.
The test URL (http://www.shujan.org/test.htm) does not work. Please visit 
http://samakaalikam.blogspot.com/ to see the described effect.
*** Bug 270012 has been marked as a duplicate of this bug. ***
This problem exists with the usage of following CSS properties, as well:
1) word-spacing 
2) letter-spacing

Also, the problem is not only on Bangla, Devanagari and Tamil, but on Kannada,
and almost all indic (http://en.wikipedia.org/wiki/Indic) scripts.

I found this bug today. It's really disturbing to have a bug like this. Actually
it's not a bug indeed. I know about the site shujan.org, that site used
Microsoft WEFT technology for embedding font with the site. So IE users can see
the site from any Windows platform. But Microsoft didn't make any plug-in for
Firefox/Mozilla, so Mozilla/Firefox users cannot see the site.

On the other hand the site used Unicode Bengali font, so if anyone has Unicode
Bengali support on their OS, then they can see the site without any problem.
Unicode Bengali means: you should have at least one Unicode based Bengali font
installed in your system, you should have Unicode rendaring support from your OS.

Some Linux distributions comes with Mozilla products, but they cannot render
Indic language, such as Bengali. Power users can compile their own version with
Indic rendering support. We call this Pango enabled. But there is no problem
with Windows. Well, I must mention that you cannot see a Unicode site with
Windows 9x. Because 9x versions of Windows doesn't have Unicode support. So
Mozill products are helpless for 9x users. But if you face problem in Windows
2000/XP/2003, then you must follow some steps like:
http://www.ekushey.org/projects/shadhinota/technical/

I request Mozilla team to close this bug as soon as possible. The reported bug
is actually not a bug. Users have to change some configurations on their sustem
for make Unicode/Indic work in their Windows box.
Could we please clear up this bug report a bit?

A. Please mention in one go all the CSS attributes that break the display for
combining characters.
B. Please provide as attachments, minimal examples that show each problem case.
That is, HTML code with sample text and then the same text with the CSS applied.
Also, a screenshot would be excellent for those developers who are not
well-versed in Indic languages.

Doing some work on the quality of the bug report will help to fix the problem
sooner.

(I am not a Mozilla developer)
hmm... guess you didn't check the other bugs that've been marked duplicate and
dependent of this one.

Tamil & Kannada test cases are here:
https://bugzilla.mozilla.org/show_bug.cgi?id=278291

Anyways, I'm attaching another test case, if that proves helpful to you.

You need to get an Open Type font for Kannada from:
http://salrc.uchicago.edu/resources/fonts/main.html
to view the attachment.

For those who intend to put me a question what 'Indic' is, wikipedia has the
answer for you:
http://en.wikipedia.org/wiki/Indic
Are you guys sure that it's not a problem of Font? Because with a perfect
Bengali font, FireFox doesn't have any problem.
(In reply to comment #13)
> Are you guys sure that it's not a problem of Font? Because with a perfect
> Bengali font, FireFox doesn't have any problem.

We developers do know what this bug is about. There IS a bug on our side. 
Along with Devanagari, Tamil and Malayalam, Even Kannada characters are badly rendered wih text-align:justify property.
Comment on attachment 204128 [details]
The Attachment is an HTML file with four types of text-align property. Left, right and center work fine. But justify ruins the kannada characters. Same works in IE.

I have tested with Arial Unicode  MS, Tunga, Kedage(from Indian Institute Of Science) fonts and I have found that problem persists. Hence its not a problem of font
I am working on this problem, which also affects Hebrew and Arabic.  See my web page at

http://blacksapphire.com/firefox-rtl/

You can test patched versions of Firefox here.
I would like to know what is been happening here. Most of the duplicate bugs have been marked "Resolved" though the bug remains for years and FF losing indic users.

Comment #17 shows that someone has already patched FF, but not yet been taken seriously. Could any developers take it seriously or at least apply the patch to official version? Thanks.
Nominating for blocking1.9a2? although I really mean 1.9.  I expect this will be fixed for Gecko 1.9 (i.e., Firefox 3.0, the next version of Firefox that's taking significant core changes).
Flags: blocking1.9a2?
FireFox 3.0 !!!!
2.0 is yet to come man...
2.0 is not a core gecko feature release, it's a ui refresh, 3.0 is the soonest this is likely to be fixed.
Summary: Unicode combining characters (e.g. Devanagari, Tamil, Malayalam ) ruined with text-align: justify → Unicode combining characters (e.g. Devanagari, Tamil, Malayalam, Marathi, Sanskrit) ruined with text-align: justify
*** Bug 202351 has been marked as a duplicate of this bug. ***
Give it to Pavlov. This may already have been fixed in minefield. 
Assignee: jshin1987 → pavlov
Flags: blocking1.9a2? → blocking1.9+
Summary: Unicode combining characters (e.g. Devanagari, Tamil, Malayalam, Marathi, Sanskrit) ruined with text-align: justify → "text-align: justify" ruins Unicode combining characters (e.g. Devanagari, Tamil, Bengali,Malayalam,Kannada)
*** Bug 348792 has been marked as a duplicate of this bug. ***
(In reply to comment #19)
> Nominating for blocking1.9a2? although I really mean 1.9.  I expect this will
> be fixed for Gecko 1.9 (i.e., Firefox 3.0, the next version of Firefox that's
> taking significant core changes).
> 

I have converted many IE users to Firefox, but they just went back to IE. Why? They can't read Indic blogs in firefox. Almost all templates in blogger have this CSS setting. If your attitude to fixing this is "sometime in the future" you are not winning any market share in Indic world. IE7 is about to hit the market soon, so they will be content and happy with it.
(In reply to comment #19)
> Nominating for blocking1.9a2? although I really mean 1.9.  I expect this will
> be fixed for Gecko 1.9 (i.e., Firefox 3.0, the next version of Firefox that's
> taking significant core changes).
> 
Depends on: 367177
this is fixed with the new textframe
fixed by roc's landing of new textframe
Status: NEW → RESOLVED
Closed: 17 years ago
Resolution: --- → FIXED
Flags: in-testsuite?
This one is marked as fixed. Could you please tell us which version of firefox has the fix? I see that http://www.bbchindi.com/ still displays incorrectly with firefox 2.0.0.6 on Linux (it works fine on windows with the same version).

thanks,
Osho
You need to test it with trunk builds to see whether it is fixed for you:
http://ftp.mozilla.org/pub/mozilla.org/firefox/nightly/latest-trunk/
I started a discussion post here http://forums.mozillazine.org/viewtopic.php?t=623138

If anybody needs help on testing of Hindi fonts in firefox to resolve this issue, i will be glad to offer my help.

Also Please let me know if anybody has found a solution for this problem.

Thanks,
Alok
Blocks: 361783
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: