Bug 3251 - Implement MathML (master bug)
: Implement MathML (master bug)
Status: ASSIGNED
: WebKit
MathML
: 412
: All All
: P2 Normal
Assigned To:
:
: InRadar, ReviewedForRadar
: 15302 29529 33703 33964 34228 34275 34277 34278 34347 34741 36452 36525 36528 36540 37044 37497 37763 38327 38377 40327 40827 40986 41535 41895 41961 42041 42067 42373 42472 43481 43503 49309 71725 99623
: 40829
  Show dependency treegraph
 
Reported: 2005-06-01 16:23 PST by
Modified: 2013-04-25 07:27 PST (History)


Attachments


Note

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


Description From 2005-06-01 16:23:53 PST
This is a master bug to track the landing of an initial implementation of MathML for Web Kit.
------- Comment #1 From 2005-06-14 14:49:02 PST -------
This is also in Radar as <rdar://problem/3142835> Would like MathML support 
------- Comment #2 From 2005-06-16 15:16:03 PST -------
MathML support requires an extensive set of glyphs, not present in the fonts
customarily distributed with MacOSX.

To this end, the STIX Fonts Project ( http://www.stixfonts.org/ )is of interest.
Sometime in 2005 (or so they say), a full Unicode-compatible mathematical font
set will be available under a royalty-free licence (
http://www.stixfonts.org/user_license.html ).
------- Comment #3 From 2005-07-05 13:10:34 PST -------
GtkMathView is a C++ rendering engine for MathML documents. It provides an
interactive view that can be used for browsing and editing MathML markup.
Despite its name, GtkMathView is modular and the actual MathML rendering engine
is completely independent of Gtk (and of any graphic platform). Currently
GtkMathView supports 3 different backends: for Gtk, for SVG (does not use any
graphic library), for AbiWord. GtkMathView's frontend (the way it reads the
MathML document) is also modular, and it supports both tree-based document
models as well as stream interfaces as well as application-specific models.
GtkMathView has very good support for Computer Modern fonts (both Type1 and
TrueType versions) and support for other font families can be added easily.

It seems to me like this is a good opportunity to make GtkMathView somewhat more
popular, and for you not to reinvent the wheel and to start with an already
working code base. I'd be glad to hear from other developers if they think it
would be feasible to (re)use GtkMathView or some of its code base for adding
MathML support to Webkit. I anticipate that I'm totally new to development on
the Apple platform, but it'd be terrific if any piece of this (hard!) work,
which has going on for more than 5 years, could be of some help.

http://helm.cs.unibo.it/software/mml-widget/

Feel free to contact me for any question you may have.
------- Comment #4 From 2006-01-13 17:58:42 PST -------
(In reply to comment #3)
SVG <text> support is coming into being. Is it realistic to have the SVG engine
do the rendering job? Looks like gtkMathView can provide in-memory SVG tree with
a few modifications.
------- Comment #5 From 2006-01-20 05:26:20 PST -------
GtkMathView is licensed by the GPL.  Is that license compatible with WebKit?
------- Comment #6 From 2006-01-23 01:56:52 PST -------
(In reply to comment #4)
> SVG <text> support is coming into being. Is it realistic to have the SVG engine
> do the rendering job? Looks like gtkMathView can provide in-memory SVG tree with
> a few modifications.

Indeed it is possible to have an "SVG tree" generated by GtkMathView. Note that the
rendering of MathML into SVG uses very little capabilities of SVG itself. Basically, all
that is needed is text rendering, reliable font selection, and colored rectangles. In
fact, I suspect it would probably be easier to directly interface GtkMathView with
the rendering interface used by the SVG engine, although have never glanced at how
that works.

In reply to comment #5, I might consider switching to a less strict licence, as long as
GtkMathView remains open source.
------- Comment #7 From 2006-01-23 16:15:03 PST -------
(In reply to comment #6)
> Basically, all
> that is needed is text rendering, reliable font selection, and colored
> rectangles. In
With my quick experiment, the nightly build can render outputs (including greek letters, integral, square roots and the red square for missing? glyphs) of mathmlsvg quite fine using Bakoma fonts.

> to directly interface GtkMathView with
> the rendering interface used by the SVG engine
Well, we need to investigate on this more, perhaps it would mean to handle CSS frames or something?
In any case, in view of kmathml, this approach might be of temporary ad-hoc nature and then we can pursue the easiest rather than structural beauty...
------- Comment #8 From 2006-02-25 00:44:42 PST -------
WebKit code must be under an LGPL-compatible license.
------- Comment #9 From 2008-07-01 05:55:21 PST -------
*** Bug 19840 has been marked as a duplicate of this bug. ***
------- Comment #10 From 2008-11-24 20:34:02 PST -------
(In reply to comment #5)
> GtkMathView is licensed by the GPL.  Is that license compatible with WebKit?
(In reply to comment #8)
> WebKit code must be under an LGPL-compatible license.

GtkMathView is LGPL software since Oct 15, 2007 and also WebKits SVG support is mature now. With everything sorted out, only someone who can integrate it into WebKit is missing ;)
------- Comment #11 From 2008-11-25 05:41:43 PST -------
Hyatt is not working on this; reassigning to webkit-unassigned.
------- Comment #12 From 2008-11-25 05:44:44 PST -------
(In reply to comment #10)
> (In reply to comment #5)
> > GtkMathView is licensed by the GPL.  Is that license compatible with WebKit?
> (In reply to comment #8)
> > WebKit code must be under an LGPL-compatible license.
> 
> GtkMathView is LGPL software since Oct 15, 2007 and also WebKits SVG support is
> mature now. With everything sorted out, only someone who can integrate it into
> WebKit is missing ;)

Will that work on all platforms once the Gtk dependencies are removed?  I suppose the SVG backend would work best in this case.

http://helm.cs.unibo.it/mml-widget/
------- Comment #13 From 2009-02-24 11:09:25 PST -------
*** Bug 24127 has been marked as a duplicate of this bug. ***
------- Comment #14 From 2009-11-02 06:19:50 PST -------
A MaTHML Browser testing page is:

https://eyeasme.com/Joe/MathML/MathML_browser_test
------- Comment #15 From 2010-01-22 12:47:45 PST -------
Added all the current MathML related issues in the "Depends On" field.
------- Comment #16 From 2010-01-27 15:03:03 PST -------
Added the debug layout patch.
------- Comment #17 From 2010-01-28 10:46:05 PST -------
Added MathML CSS patch
------- Comment #18 From 2010-01-28 11:11:18 PST -------
Added bugs for munder/over and msubsup support.
------- Comment #19 From 2010-01-29 14:34:46 PST -------
Added patch for mrow and stretchy operator support.
------- Comment #20 From 2010-02-08 21:08:18 PST -------
Added mfrac patch bug (34741).
------- Comment #21 From 2010-02-10 11:42:45 PST -------
Removed bug 27413 from the depends on field.

I believe this bug (27413) is not related to MathML.  While I may be able to
do the same using a chunk of MathML encoded markup, this bug has to
do with specifically detecting and transforming sequences of unicode characters.

Such a transformation's implementation might want to use the MathML fraction
rendering object but it isn't really directly related to MathML's implementation.
------- Comment #22 From 2010-06-13 01:40:29 PST -------
Added patch for RenderStyle change.