GtkMathView is a C++ rendering engine for MathML documents.
GtkMathView reads MathML documents by means of a frontend whose purpose is to traverse the MathML document (or part of it) and to appropriately instantiate GtkMathView's internal data structures that are suitable for rendering it.
Currently the following frontends are supported:
· libxml2 frontend, in which the MathML document is represented as a tree and navigated with the libxml2 tree API.
· libxml2 reader frontend, in which the MathML document is not entirely loaded in memory and is navigated with the libxml2 reader API. This frontend is mostly useful for batch rendering of MathML documents.
· GMetaDOM frontend, in which the MathML document is represented as a tree and is navigated with the DOM API provided by GMetaDOM, which in turn is a DOM-compliant wrapper for libxml2.
· custom frontend, in which the MathML document is represented in some application-specific format and is navigated with application-provided callback functions.
GtkMathView renders MathML documents through a backend whose purpose is to provide an abstraction of the platform-specific capabilities (available fonts, drawing drawing primitives, and so on).
Currently the following backends are provided:
· GTK+ backend, for rendering MathML documents using Pango in GTK+ applications.
· GTK+ widget backend, which wraps GtkMathView in a GTK+ widget to be directly embedded in GTK+ applications.
· SVG backend, which renders MathML into SVG.
· AbiWord backend, which allows one to embed MathML documents into AbiWord by means of the AbiMathView plugin.
· GCC ≥ 3.4 (some versions of GCC 3.3 are known to have problems compiling some classes in GtkMathView)
· GLib ≥ 2.2.1
· GTK+ ≥ 2.2.1 (required up to version 0.6.5, optional starting from 0.7.0 for the GTK+ backend)
· GMetaDOM ≥ 0.1.8 (required for versions up to and including 0.6.1, optional starting from 0.6.2 for the GMetaDOM frontend)
· miniDOM is not supported anymore and won't work with gtkmathview ≥ 0.4.x. As of now, the latest GMetaDOM version that works with gtkmathview 0.3.x is 0.0.3c.
· libxml ≥ 2.6.7 (required for versions up to 0.6.2, then only if the libxml2 and libxml2 reader frontend)
· t1lib ≥ 5 (required for the GTK+ backend if you plan to use Type 1 fonts and anti-aliasing). RPM packages for t1lib can be found at Didier's page for GtkMathView.
· popt ≥ 1.7 (if not present, only the libraries will be built)
What's New in This Release:
· Fixed bugs in rendering of MathML tables and scripts.
· Added support for two more fonts (MSAM and MSBM from AMS).