Bug 150393 (mathml) - (firefox) Pango breaks MathML
Summary: (firefox) Pango breaks MathML
Status: CLOSED WONTFIX
Alias: mathml
Product: Fedora
Classification: Fedora
Component: firefox   
(Show other bugs)
Version: 5
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Behdad Esfahbod
QA Contact:
URL: http://www.mozilla.org/projects/mathm...
Whiteboard:
Keywords:
: 150398 (view as bug list)
Depends On:
Blocks: FIREFOX_PANGO 220145
TreeView+ depends on / blocked
 
Reported: 2005-03-05 13:53 UTC by Joao Palhoto Matos
Modified: 2018-04-11 19:26 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2007-07-24 13:36:22 UTC
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-04 01:12 UTC, Behdad Esfahbod
no flags Details
Torture test after (98.64 KB, image/png)
2006-08-04 01:14 UTC, Behdad Esfahbod
no flags Details
Spacing patch (2.08 KB, patch)
2006-08-04 01:16 UTC, Behdad Esfahbod
no flags Details | Diff
new patch (2.22 KB, patch)
2006-08-04 21:01 UTC, Behdad Esfahbod
no flags Details | Diff
committed patch (1.82 KB, patch)
2006-08-23 00:24 UTC, Behdad Esfahbod
no flags Details | Diff
Torture test Xft rendering (73.15 KB, image/png)
2006-08-23 02:26 UTC, Behdad Esfahbod
no flags Details
Torture test with the patch and Pango 1.4.2, at 96dpi (73.15 KB, image/png)
2006-08-23 02:54 UTC, Behdad Esfahbod
no flags Details

Description Joao Palhoto Matos 2005-03-05 13:53:40 UTC
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 09:46:17 UTC
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 10:11:19 UTC
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 19:54:52 UTC
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-29 00:02:10 UTC
(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-29 00:23:30 UTC
*** Bug 150398 has been marked as a duplicate of this bug. ***

Comment 6 Warren Togami 2005-03-29 00:26:01 UTC
ouch...

Comment 7 Christopher Aillon 2005-03-29 04:38:08 UTC
Blizzard!

Comment 8 Rex Dieter 2005-09-22 14:49:38 UTC
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 19:39:56 UTC
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 19:41:36 UTC
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 21:33:03 UTC
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 11:52:18 UTC
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 14:41:54 UTC
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 23:20:59 UTC
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 23:31:19 UTC
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 23:58:34 UTC
retargetting fc5.

Comment 17 Behdad Esfahbod 2006-08-04 01:07:51 UTC
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-04 01:12:11 UTC
Created attachment 133599 [details]
Torture test before

Comment 19 Behdad Esfahbod 2006-08-04 01:14:23 UTC
Created attachment 133600 [details]
Torture test after

Comment 20 Behdad Esfahbod 2006-08-04 01:16:13 UTC
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 13:38:28 UTC
Nice patch! Just remove the printfs

Comment 22 Christopher Aillon 2006-08-04 15:33:00 UTC
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 15:40:56 UTC
Ah, I had overlooked the comments around the first one

Comment 24 Behdad Esfahbod 2006-08-04 21:01:40 UTC
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-23 00:24:56 UTC
Created attachment 134685 [details]
committed patch

This is the patch that should hit rawhide pretty soon.

Comment 26 Behdad Esfahbod 2006-08-23 01:53:20 UTC
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-23 02:26:09 UTC
Created attachment 134687 [details]
Torture test Xft rendering

Comment 28 Behdad Esfahbod 2006-08-23 02:54:39 UTC
Created attachment 134688 [details]
Torture test with the patch and Pango 1.4.2, at 96dpi

Comment 29 Behdad Esfahbod 2006-08-23 19:26:10 UTC
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 04:47:22 UTC
Remove "Pango breaks MathML" from about.xhtml
https://bugzilla.mozilla.org/show_bug.cgi?id=350266

Comment 31 Matěj Cepl 2007-07-18 17:30:50 UTC
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 13:36:22 UTC
This is fixed in FC6 and F7.


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