#19 Some more problems...

Jiri Tyr

Hello Max,

after some time I have again tested recent FOP + Jeuclid FOP plug-in.

No, I'm runing FOP svn-trunk from end of the last year with JeuclidFOP plug-in 3.0.1 without any problems. When I tested fop-0.94 + JeuclidFOP 3.0.3 there was no improvement from my point of view. Then I tested current svn-trunk of FOP and JeuclidFOP 3.1.0 but unfortunately it doesn't work. So I tested current svn-trunk of FOP and svn-trunk of JeuclidFOP and there is visible big improvement. But everything is still not OK ;o)

Some indexes and exponents are too big and sometimes the index is too far away (e.g. $F_X$). Further the ranges of a integral could be above an under the symbol (like in case of sum) and not on the right site. Then some symbols are not shown correctly. Please, see the examples in at this address (http://e-learning.tul.cz/~tyr/docbook_test.tar.gz) for closer details.

Even if there are many cosmetics bugs, JeuclidFOP plug-in is working well! Thank you for your great work!

Best Regards,


  • Max Berger

    Max Berger - 2008-06-02

    Logged In: YES
    Originator: NO


    thanks for you comments. I'll address only the current version of JEuclid, as there will be no more major changes to the 3.0 branch.

    I would like to address your "cosmetic" bugs, but for those I'd need a clear list of what they are. I've downloaded your example, so what I'd like is a (probably numbered) list, so that I can refer to every single one. It is probably easiest, if we refer to the formula numbers given in your pdf. As an example

    1) In 2.4 the braces are not shown

    Then i can answer with

    1) This could be a font problem. Braces in MathML are defined in the Unicode range for CJK (Chinese, Japanese, Kanji) fonts. Please install some eastern fonts, and re-test the example.

    Please continue this list.


  • Max Berger

    Max Berger - 2008-06-02
    • status: open --> pending
  • Jiri Tyr

    Jiri Tyr - 2008-06-02
    • status: pending --> open
  • Jiri Tyr

    Jiri Tyr - 2008-06-02

    Logged In: YES
    Originator: YES

    Hello Max,

    thank you for your replay. Let's have a look at this list of cosmetic bugs:

    1) Equation 2.3
    * The integral ranges should be above and bellow the symbol of integral.
    * The "f_x" following the integral symbol have the index too far away. The same for "F_X(b)" and "F_X(a)". It looks like the capital "X" in the index is positioned on the same level where F ends. It would be OK if the F wouldn't be italic. If it is italic, it should be positioned closer to the F (if you know angle of the "F", then you can count for how much to move it).

    2) Equation 2.4
    * The horizontal braces are not displayed properly. You are right, it is maybe just a problem of the font. Please, could you tell me which font set do you use? If you use FOP, could you share your font matrix? I tried to install some Chines, Japan and Korean fonts, but noting have improved.
    * If you compare my PDF from version 3.0.1 and 3.1.2, you can see significant difference in this equation, but the font set is the same!

    3) Equation 2.11
    * There should be more space between the columns, especially in front of the "g'(x)".

    4) Equation 2.12
    * The minus sign in the last three lines (last line "= -2/3...") could have more space on the right site. Otherwise it looks almost like one line.

    5) Equation 2.17
    * The circular integer symbol should have the same high like the fraction in front or behind of it.

    6) Equation 2.19
    * The matrix braces could use more space in the inner part of the matrix.
    * On the right side of the expression, in the range of PI could have more space around the "<=" sign.

    7) Equation 2.24
    * The square braces in the exponent "1/2^{[k.X]}" are not visible properly. Font problem?
    * The exponents of "2^0", "2^1", ... are a bit bigger then it should.

    8) Equation 2.26
    * The arrow going from the bottom "K" to the top "K" is not long enough.

    9) Equation 2.27 - 2.41
    * The exponents and the indexes are too big. I suppose, it is only the case of <mstyle displaystyle="false"></mstyle>.

    The best comparison is against the LaTeX output. Its output is the best ever and approved by time. Please try to fix theses cosmetic problems and I believe that one day, MathML will replace old but still the best LaTeX.


  • Justus Piater

    Justus Piater - 2008-06-21

    Logged In: YES
    Originator: NO

    I have a related example, created with FOP 0.95beta and the JEuclid 3.1.1 plugin: http://intelsig.montefiore.ulg.ac.be/~piater/test/mathspacing/
    Compare the FOP/JEuclid rendering with XHTML (best viewed with Firefox 3) and LaTeX:
    Horizontal spacing around parentheses appears too narrow, and the prime is too far away from the A.
    Shouldn't it be possible to use a layout algorithm and parameters equivalent to those in TeX?

  • Max Berger

    Max Berger - 2008-06-24

    Logged In: YES
    Originator: NO


    finally had some time to look at some of your points, fortunately (for me) most of them are errors in your mathml. I'll address peter's issue as 10).

    Generally it is impossible to provide somehting the quality of LaTeX: They have many more people with many more development years, and many users providing feedback over the years. But its good to know that JEuclid is getting close to it :). MathML also provide much more Layout tweak functionality and less automatisms, so some manual tweaking is definitely required here.

    One big advantage of LaTeX is that they could define their own font format and font handling - JEuclid has to work with what AWT provides, AND it should work the same on OS X, Linux, Windows, .... If you look at the code (especially for character / text handling), there are sometimes very strange workarounds needed.

    1a) you use "msubsup" instead of "munderover". msubsup explicitly does NOT move the delimiters under and over the integral. See [1]

    1b) Yes, all characters occupy a rectangular space. This is a potential TODO

    2a) The FOP plugin (trunk) should now emit a warning, and even link you to a site where you can get the font. Please test.
    2b) Steching is one of the thing which is now done differently ( the characters are the same, once stretched, once unstretched)

    3) Equation 2.11 contains columnspacing="0em", and therefore has no space between the columns.

    4) The right space for a prefix - is 0.05555 em, which is not a lot. [2]

    5) In this case there is no relation between the circular integer and the content afterwards. How would I know that they belong together? The solution would be: Put both in one mrow, make sure the cicular operator is the first on, and then also make sure it's stretchy (this may be a tricky one, because the mo has an underscript as well).

    6a) the whitespace for "|" is defined as .27777em, which is what it is [2]
    6b) whitespace is set to 0 when scriptlevel is > 0 "Some renderers may wish to use no spacing for most operators appearing in scripts (i.e. when scriptlevel is greater than 0; see Section 3.3.4), as is the case in TeX" [2]. However, this behavior does not seem to make much sense.

    7a) you are using charactes 230a and 230b, which are left and right floor, not braces
    7b) scriptlevel here is explicitly set, therfore the mismatch.

    8) This was a bug in JEuclid, fixed in rev. 808

    9) Here the problem is that the exponents / indices would get to small. You can use the scriptminsize parameter to allow smaller fonts.

    10) Peter: In your case you are using the prime as a separate operator, which therefore has the default operator spacing. Consider merging this with the A using something like "msup": Only then are these two "one thing" and belong together. The spacing around the parenthensis is intentionally so small: Otherwise this would look strange in most other cases.

    [1] http://www.w3.org/TR/REC-MathML/chap3_4.html#sec3.4.3
    [2] http://www.w3.org/TR/REC-MathML/appendixC.html


Log in to post a comment.

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:

JavaScript is required for this form.

No, thanks