Red Hat Bugzilla – Bug 150393
(firefox) Pango breaks MathML
Last modified: 2007-11-30 17:11:01 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
Version-Release number of selected component (if applicable):
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
Local fonts for MathML include
Acrobat Reader PS fonts
Mathematica 4.1 tt
This font set works for Mozilla and other Firefox releases. Additional details if requested.
Now it is also present on mozilla-1.7.6-1.3.2 under FC3
It is _not_ present in
So it seems to be introduced by Fedora packaging
I have changed severity to high as this potentially messes up any MathML site
accessed from Fedora.
Screenshots are available at
the ugly (the latest mozilla-1.7.6-1.3.2):
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:
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:
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.
(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
-- reinstating MathML support in an update for FC3;
-- making lack of MathML support for FC4 or FC5 and later detectable by dynamic
or get pango vs. MathML fixed!
*** Bug 150398 has been marked as a duplicate of this bug. ***
Appears to be (kinda) fixed in recent firefox errata, as it seems to enable
pango for only Indic locales.
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.
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.
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.
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.
Welp, you're right. The RPM was built off the instructions here:
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).
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.
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.
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.
Created attachment 133599 [details]
Torture test before
Created attachment 133600 [details]
Torture test after
Created attachment 133601 [details]
After figuring out what's going on, the patch was quite obvious and simple...
Nice patch! Just remove the printfs
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.
Ah, I had overlooked the comments around the first one
Created attachment 133665 [details]
A *much* nicer patch to the same effect. Poor Pango defines all these macros
and functions that firefox doesn't use...
Created attachment 134685 [details]
This is the patch that should hit rawhide pretty soon.
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:
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)
Created attachment 134687 [details]
Torture test Xft rendering
Created attachment 134688 [details]
Torture test with the patch and Pango 1.4.2, at 96dpi
Ok, filed a few bugs upstream.
Attaching the pango-mathml patch:
The no-pangoxft patch that I added to devel:
The jagged brackets you see in the screenshots (not specific to Pango):
Remove "Pango breaks MathML" from about.xhtml
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.
This is fixed in FC6 and F7.