This page will summarize ideas about creating MathML rendering and editing widget for KDE. There are several approaches to create such widget:
Implement MathML support for WebCore
From #webkit: "making WebKit do some minimal MathML rendering is probably a rather quick project, making a complete MathML renderer is probably not. building an editor on top of WebKit (or any other rendering engine which can display mathml) is probably not a very short project either. fixing up WebKit so that when it's in editing mode it knows how to edit mathML is also not a short project"
- All WebCore-powered browsers will benefit from this
- MathML will be naturally integrated into HTML widget
- WebCore is too heavy for some applications which just need to show a formula or to show many formulas in different widgets
- WebCore may be not suitable for applications which want to embed the formula in something else
- WebKit is not a Qt/KDE dependency yet.
Rendering code in KFormula does not heavily depend on KOffice libs and can be separated from it.
- Sharing code with KFormula
- Formula editor can also be taken from KFormula
- AFAIK KFormula code is not strictly MathML-specific, it just can import and export to MathML
- KFormula has its own DOM model
- We don't know how difficult can be the port from KOffice
Implement QT backend for GtkMathView
GtkMathView has clear backend/engine/frontend separation, backend for QT and frontend for QT DOM can be easily implemented. Dependency on GTK is optional so it won't be a problem.
- Very easy to implement
- More code sharing - more testing, more developers
- QT-style DOM for MathML can also be easily implemented
- Formula editor will be slightly harder to implement
- "Gtk" in the name, but I think we can live with it ;-)
- We add a dependency to KDEEdu/KDE (or wherever this code would sit)
Other possibilities and thoughts
- Maybe we should create it for khtml first and then port it to webkit (that mostly depends on how kde is going to deal with them)
- Maybe we could create a library that can be used from khtml/webkit and also that we can use to create the mathml expression editor widget