Thoughts on LibreOffice Math

Frédéric WANG fred.wang at free.fr
Thu Jul 4 09:10:51 PDT 2013


On 04/07/2013 13:17, Michael Meeks wrote:
> First - thanks so much for your contribution ! :-) it's great to have 
> someone working on and caring about math - it seems to me like you 
> should have commit access if you havn't already for that ( can you 
> poke me with your gerrit account name ;-) 
Thanks, my gerrit account is "Frédéric Wang" attached to the mail 
address I'm writing this mail. BTW, I'm not sure why, but I can not 
comment on gerrit commit. Do I need commit access for that?

> Which of course makes life hard :-) IMHO it's fine to switch to 
> something more standard; but of course for back-compatibility we need 
> to be able to import (and probably export) (perfectly) StarMath to and 
> from our new representation. 
I think the visual rendering can be preserved when converting from 
StarMath to MathML, but the other direction is not possible since 
StarMath does not have all the MathML features. In general, perfectly 
preserving the StarMath markup is not really possible for example 
"a_b^c" and "a^c_b" will be converted to the same MathML markup and it's 
not possible to convert it back. A more serious example is "matrix{A ## 
B}", "stack{A # B}" and "A newline B" that are all exported as a MathML 
table with two rows A and B...

> Having said that - I'd love to see the final small pieces (IIRC. mostly
> undo/redo which is quite asy) for interactive editing sorted out before
> doing a deprecate/replace. The skills gained pulling the interactive
> formula editing out of experimental work will be useful learning for the
> re-write :-)
I think enabling the visual editor by default is indeed important. What 
is blocking it from going out of experimental features? I think the GSOC 
student who worked on that mentioned some crashes and I can try to debug 
and fix them. Are there other serious bugs / missing features apart 
undo/redo?
> 	There were a number of technology suggestions in the thread too: "just
> re-use GtkMathView" - that seem to bring significant licensing and
> dependency issues. In general, that seems deeply problematic to me.
>
> 	Of course, if we can re-use some code from Firefox for a new formula
> editor (I assume they only render not edit) then that would be really
> ideal - though, naturally there would need to be some degree of
> abstracting of rendering etc. That's something I'd love to see. Editing
> is often quite unpleasant to achieve ;-)
>
> 	Thoughts on that much appreciated :-) how re-usable is the firefox code
> - is it a tightly coupled, vast chunk of beast tied to dozens of
> megabytes / mega-lines of existing firefox infrastructure ? or is it
> something smallish and re-usable ? :-)

Gecko has an editor but it currently does not know anything about MathML 
and so editing it will produce invalid markup (try for example <div 
contenteditable="true"><math><msqrt><mfrac><mi>a</mi><mi>b</mi></mfrac></msqrt></math></div> 
in a HTML page).

Gecko/WebKit MathML code base itself is small (say about the same size 
as StarMath) but it is strongly dependent on the rest of the Web 
rendering engine (all the CSS properties, table and text layout, DOM 
etc) so I'm not sure it's a really good idea to use it in LibreOffice. 
The need for Web content is a bit different, Web people want all the CSS 
features like text-shadow on mathematical expressions or want to mix 
MathML with other languages like SVG or want to use Javascript/DOM to 
edit them. I think LibreOffice people just want basic math support 
without too much interaction with the other features of the rendering 
engine (although at least integration in the surrounding text is 
important). I admit that I didn't check GtkMathView in details, but it 
seemed to be a small piece of code that is designed to be integrated in 
other applications and interactive edition is possible. The rendering 
did not seem so good to me (a font issue on my system?) but that would 
be better if Khaled adds Open Type MATH support.

-- 
Frédéric Wang
maths-informatique-jeux.com/blog/frederic



More information about the LibreOffice mailing list