Date: prev next · Thread: first prev next last
2013 Archives by date, by thread · List index


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


Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.