Bug 150393 - (mathml) (firefox) Pango breaks MathML
(firefox) Pango breaks MathML
Status: CLOSED WONTFIX
Product: Fedora
Classification: Fedora
Component: firefox (Show other bugs)
5
All Linux
medium Severity medium
: ---
: ---
Assigned To: Behdad Esfahbod
http://www.mozilla.org/projects/mathm...
:
: 150398 (view as bug list)
Depends On:
Blocks: FIREFOX_PANGO 220145
  Show dependency treegraph
 
Reported: 2005-03-05 08:53 EST by Joao Palhoto Matos
Modified: 2007-11-30 17:11 EST (History)
10 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-07-24 09:36:22 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Torture test before (78.28 KB, image/png)
2006-08-03 21:12 EDT, Behdad Esfahbod
no flags Details
Torture test after (98.64 KB, image/png)
2006-08-03 21:14 EDT, Behdad Esfahbod
no flags Details
Spacing patch (2.08 KB, patch)
2006-08-03 21:16 EDT, Behdad Esfahbod
no flags Details | Diff
new patch (2.22 KB, patch)
2006-08-04 17:01 EDT, Behdad Esfahbod
no flags Details | Diff
committed patch (1.82 KB, patch)
2006-08-22 20:24 EDT, Behdad Esfahbod
no flags Details | Diff
Torture test Xft rendering (73.15 KB, image/png)
2006-08-22 22:26 EDT, Behdad Esfahbod
no flags Details
Torture test with the patch and Pango 1.4.2, at 96dpi (73.15 KB, image/png)
2006-08-22 22:54 EDT, Behdad Esfahbod
no flags Details

  None (edit)
Description Joao Palhoto Matos 2005-03-05 08:53:40 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.7.5) Gecko/20041107 Firefox/1.0

Description of problem:
Install the recommended fonts for MathML (http://www.mozilla.org/projects/mathml/fonts/)

Compare display with firefox 1.0.1 installed as suggested in
http://fedoranews.org/tchung/firefox

Version-Release number of selected component (if applicable):
firefox-1.0.1-1.3.1, firefox-1.0.1-1.3.2

How reproducible:
Always

Steps to Reproduce:
1. Install the recommended fonts for MathML (http://www.mozilla.org/projects/mathml/fonts/)
2. Access http://www.mozilla.org/projects/mathml/demo/texvsmml.xhtml or some other MathML test page


  

Actual Results:  Alignement all wrong

Expected Results:  Compare display with firefox 1.0.1 installed as suggested in
http://fedoranews.org/tchung/firefox

Additional info:

Local fonts for MathML include
Acrobat Reader PS fonts
Mathematica 4.1 tt
LaTeX fonts

This font set works for Mozilla and other Firefox releases. Additional details if requested.
Comment 1 Joao Palhoto Matos 2005-03-24 04:46:17 EST
Now it is also present on mozilla-1.7.6-1.3.2 under FC3

It is _not_ present in 
http://ftp.mozilla.org/pub/mozilla.org/mozilla/releases/mozilla1.7.6/contrib/mozilla-i686-pc-linux-gnu-1.7.6-gtk2+xft.tar.gz

So it seems to be introduced by Fedora packaging
Comment 2 Joao Palhoto Matos 2005-03-24 05:11:19 EST
I have changed severity to high as this potentially messes up any MathML site
accessed from Fedora.

Screenshots are available at

the good:
http://www.math.ist.utl.pt/~jmatos/CapturaEcra-13.png

the ugly (the latest mozilla-1.7.6-1.3.2):
http://www.math.ist.utl.pt/~jmatos/CapturaEcra-14.png
Comment 3 Matt Thompson 2005-03-28 14:54:52 EST
This seems to be due to Pango, as is assumed do to the timing, since it was
enabled default around the beginning of March.  If you run:

> MOZ_DISABLE_PANGO=1 firefox

you can view all the MathML sites correctly (albeit with that annoying Symbol
dialog, i.e., #133709).  A ye olde post here:

http://mail.gnome.org/archives/gtk-i18n-list/2003-February/msg00042.html

seems to say that Pango and MathML (Mango?) don't play nicely.  Another out
there says that Blizzard was working on a corrolary to this problem:

http://lists.gnu.org/archive/html/lilypond-devel/2004-05/msg00084.html

So, I guess you can't have both worlds right now.  I suppose a "Disable Pango if
you want to read math" statement is needed in rather BOLD letters at Moz/Firefox
Fedora pages/release notes.
Comment 4 Joao Palhoto Matos 2005-03-28 19:02:10 EST
(In reply to comment #3)
> 
> So, I guess you can't have both worlds right now.  I suppose a "Disable Pango if
> you want to read math" statement is needed in rather BOLD letters at Moz/Firefox
> Fedora pages/release notes.

This is an update to a release (FC3) for which MathML support existed so release
notes wouldn't make much sense. Breaking upstream features in an update does not
seem a good policy anyway...

From the point of view someone writing MathML pages this situation is a total
mess. It would be acceptable, but a pain, if one could detect from "Mozilla/5.0
(X11; U; Linux i686; en-US; rv:1.7.6) Gecko/20050323 Fedora/1.7.6-1.3.2" that
"This Mozilla MathML rendering has been broken for the sake of pango by your
Linux distribution. Get a copy from mozilla.org". Come on: one can do something
similar with IE with or without MathPlayer but not with Mozilla/Firefox with or
without MathML support?!

If the maintainer ever reads please consider (from the SPEC file I gather it was
not intentional):
-- reinstating MathML support in an update for FC3;
-- making lack of MathML support for FC4 or FC5 and later detectable by dynamic
pages;

or get pango vs. MathML fixed!
Comment 5 Warren Togami 2005-03-28 19:23:30 EST
*** Bug 150398 has been marked as a duplicate of this bug. ***
Comment 6 Warren Togami 2005-03-28 19:26:01 EST
ouch...
Comment 7 Christopher Aillon 2005-03-28 23:38:08 EST
Blizzard!
Comment 8 Rex Dieter 2005-09-22 10:49:38 EDT
Appears to be (kinda) fixed in recent firefox errata, as it seems to enable
pango for only Indic locales.
Comment 9 Warren Togami 2005-09-22 15:39:56 EDT
Not sure what you are seeing, but according to caillon this hasn't changed.  You
are either using the RHEL builds or built by someone else.  In any case
disabling pango is not an option for future Fedora, this and other pango firefox
bugs must eventually be fixed.
Comment 10 Rex Dieter 2005-09-22 15:41:36 EDT
Sorry Warren, you're right, I'm on RHEL4.  I guess I kinda assumed (my bad) that
the FC and RHEL builds were the same (or similar) in this respect.
Comment 11 Matt Thompson 2006-03-16 16:33:03 EST
Folks, I recently upgraded my FC4 box to Firefox 1.5.  This is the Tummy.com
rebuild for FC4 and for whatever reason, the problem seems to be fixed.  I don't
want to change the status until I have FC5 running, but maybe a FC5beta/Rawhide
runner can check this?

Of course, Bug 133709 is *still* unresolved.  I really, really get annoyed by
that Symbol dialog.
Comment 12 JP Matos 2006-03-17 06:52:18 EST
The problem will only be solved if indic locales and mathml coexist. The
previous poster should check the status of the PANGO lines in (presumably)
/usr/bin/firefox and give a URL for the tummy.com SRPM.
Comment 13 Matt Thompson 2006-03-17 09:41:54 EST
Welp, you're right.  The RPM was built off the instructions here: 

https://www.redhat.com/archives/fedora-devel-list/2005-November/msg01244.html

and what do they say to do: remove the Pango/Cairo bits.  Aw nuts, I was hoping
all was well.  Oh well, I guess I'm on the other side of the Mango mess now,
good math, bad languages.  And, of course, it works with some sites that just go
nuts with Fx 1.07 (Iron Sudoku, say).
Comment 14 Matthew Miller 2006-07-10 19:20:59 EDT
Fedora Core 3 is now maintained by the Fedora Legacy project for security
updates only. If this problem is a security issue, please reopen and
reassign to the Fedora Legacy product. If it is not a security issue and
hasn't been resolved in the current FC5 updates or in the FC6 test
release, reopen and change the version to match.

Thank you!
Comment 15 JP Matos 2006-07-10 19:31:19 EDT
The bug is present in FC5. It is not a security issue. I seem to be unable to
change fc3 -> fc5 although I was the original poster.
Comment 16 Rex Dieter 2006-07-10 19:58:34 EDT
retargetting fc5.
Comment 17 Behdad Esfahbod 2006-08-03 21:07:51 EDT
Ok, assigning to myself.

There are two issues here:

  1) very wrong spacing
  2) math font is not selected

attaching a patch for the first, with before/after shots.
Comment 18 Behdad Esfahbod 2006-08-03 21:12:11 EDT
Created attachment 133599 [details]
Torture test before
Comment 19 Behdad Esfahbod 2006-08-03 21:14:23 EDT
Created attachment 133600 [details]
Torture test after
Comment 20 Behdad Esfahbod 2006-08-03 21:16:13 EDT
Created attachment 133601 [details]
Spacing patch

After figuring out what's going on, the patch was quite obvious and simple...
Comment 21 Matthias Clasen 2006-08-04 09:38:28 EDT
Nice patch! Just remove the printfs
Comment 22 Christopher Aillon 2006-08-04 11:33:00 EDT
They're commented out, but if you think they are useful enough, feel free to
wrap them all in #ifdef MOZ_DEBUG_PANGO and be sure to #undef MOZ_DEBUG_PANGO at
the start of the file.
Comment 23 Matthias Clasen 2006-08-04 11:40:56 EDT
Ah, I had overlooked the comments around the first one
Comment 24 Behdad Esfahbod 2006-08-04 17:01:40 EDT
Created attachment 133665 [details]
new patch

A *much* nicer patch to the same effect.  Poor Pango defines all these macros
and functions that firefox doesn't use...
Comment 25 Behdad Esfahbod 2006-08-22 20:24:56 EDT
Created attachment 134685 [details]
committed patch

This is the patch that should hit rawhide pretty soon.
Comment 26 Behdad Esfahbod 2006-08-22 21:53:20 EDT
Compared to the previous patch, the on in comment 25 uses logical width instead
of ink width.  That's the expected behavior.  It also has a little optimization,
dropping an strlen.

The rest of the MathML was not working simply because Pango was refusing to
choose font/shaper for Private Use characters.  That was a one-line fix.  With
that, it only was not rendering the THIN SPACE character.  That's this bug:

  http://bugzilla.gnome.org/show_bug.cgi?id=145275

I also worked around it by making Pango choose font/shaper for space characters
too.  All this is in Pango 1.14.1 that is in Rawhide already.

With these, I get Pango render the MathML Torture Test exactly like the Xft
backend.  I even changed Pango to use a fixed 96 dpi resolution and got an image
that had only 14 pixel differences with the Xft one, and those are minimal
antialiasing differencing for the letter Pi.  (Attaching all in a minute)  
Comment 27 Behdad Esfahbod 2006-08-22 22:26:09 EDT
Created attachment 134687 [details]
Torture test Xft rendering
Comment 28 Behdad Esfahbod 2006-08-22 22:54:39 EDT
Created attachment 134688 [details]
Torture test with the patch and Pango 1.4.2, at 96dpi
Comment 29 Behdad Esfahbod 2006-08-23 15:26:10 EDT
Ok, filed a few bugs upstream.

Attaching the pango-mathml patch:
https://bugzilla.mozilla.org/show_bug.cgi?id=349904

The no-pangoxft patch that I added to devel:
https://bugzilla.mozilla.org/show_bug.cgi?id=349906

The jagged brackets you see in the screenshots (not specific to Pango):
https://bugzilla.mozilla.org/show_bug.cgi?id=349907

Comment 30 Behdad Esfahbod 2006-08-26 00:47:22 EDT
Remove "Pango breaks MathML" from about.xhtml
https://bugzilla.mozilla.org/show_bug.cgi?id=350266
Comment 31 Matěj Cepl 2007-07-18 13:30:50 EDT
Fedora Core 5 is no longer supported, could you please reproduce this with the
updated version of the currently supported distribution (Fedora Core 6, or
Fedora 7, or Rawhide)? If this issue turns out to still be reproducible, please
let us know in this bug report.  If after a month's time we have not heard back
from you, we will have to close this bug as CANTFIX.

Setting status to NEEDINFO, and awaiting information from the reporter.

Thanks in advance.
Comment 32 Behdad Esfahbod 2007-07-24 09:36:22 EDT
This is fixed in FC6 and F7.

Note You need to log in before you can comment on or make changes to this bug.