MathML Editor Project

Gecko has a "core" editor to edit HTML content, which is used in Thunderbird, SeaMonkey, Kompozer, BlueGriffon etc. This editor can also be enabled in Web pages via the contenteditable attribute as in the MDN Wiki or in the present page. Unfortunately, this editor is not aware of MathML specificities. For example if you select a subexpression in the formulas below and delete them, you are likely to get "invalid-markup". If you enter something like x+7 this is likely to be interpreted as a single "x+7" variable rather than the sum of x and seven. The idea would hence be to implement low-level editing features in the core C++ editor (parsing small ascii math expressions typed by the user ; checking tree integrity when deleting or inserting math nodes ; better cursor navigation) as it is the case in Amaya.

( 2 x 2 + 2 y 2 ) | φ ( x + i y ) | 2 = 0 det | c 0 c 1 c 2 c n c 1 c 2 c 3 c n + 1 c 2 c 3 c 4 c n + 2 c n c n + 1 c n + 2 c 2 n | > 0 p  prime f ( p ) = t > 1 f ( t ) d π ( t )

Another aspect of the project is to develop a high-level XML+Javascript User Interface to insert mathematical constructions similar to what exists in e.g. FireMath. For example create a math panel with several buttons like . When you click on it, a new square root with empty placeholder will be created at the current insertion point. If the user has selected an expression, this will add a square root around that expression. Do that for all basic MathML constructions like etc The math panel could also have predefined constructions like