Projects/Edu/mathMLRender

From KDE TechBase
< Projects‎ | Edu
Revision as of 21:59, 2 October 2007 by Apol (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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"

Props

  • All WebCore-powered browsers will benefit from this
  • MathML will be naturally integrated into HTML widget

Cons

  • 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.

Separate KFormula code into shared library

Rendering code in KFormula does not heavily depend on KOffice libs and can be separated from it.

Props

  • Sharing code with KFormula
  • Formula editor can also be taken from KFormula

Cons

  • 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.

Props

  • Very easy to implement
  • More code sharing - more testing, more developers
  • QT-style DOM for MathML can also be easily implemented

Cons

  • 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