Hi Gennadiy,
good to hear that things are going well in MathML land. More comments
inline...
On 09.12.2005 16:15:17 Gennadiy Tsarenkov wrote:
Hello all,
some time ago my colleague announced that we are working on MathML
implementation for FOP. Our work is based on the JEuclid library.
Now we completed code review to comply with ASF code requirements.
Our results are available from CVS at
:pserver:[EMAIL PROTECTED]:/cvsroot/jeuclid
(http://sourceforge.net/projects/jeuclid/).
Among MathML feature we made several additional features for
fop-0.20.4. These features are also included into test/first-demo and
consists of
- to embed PDF's;
- to have bold, italic styles for TTF Unicode fonts (namely Arial
Unicode MS).
Now we are thinking of integrating these features into fop-trunk.
Please, have a look whether our results is satisfactory to become part
of fop or xmlgraphics at ASF. Any of the comments are welcome.
I'll try to find time to have a look in the next few days.
There are also several issues, that we would like to ask here to make
resolve them in general way:
1. How to configure font to render MathML. Most of the font does not
contain enough mathematical symbols to render complex mathematical
formulas. At the moment we have constant pointing to Arial Unicode
MS (as mostly completed Unicode font). We were tried to make support
of another font but stop this activity after finding out that (in this
font Integral symbol is missing but Top Half Integral and Bottom
Half Integral are present). We need an idea how we could handle such
situations in a general way.
I guess you have to provide the ability to specify a list of prioritized
fonts (like in the XSL-FO font-family property) as an extension
attribute on the MathML root element. With this list you could check
each font in the list if it provides the character you're looking for.
The font subsystem of FOP supports querying a FOP is a specific glyph is
available in a font. See hasChar(char) in SinglyByteFont and
MultiByteFont in the fonts package of FOP Trunk. I don't know if AWT
provides something similar.
2. When rendering MathML we used awt.Font class, which is not
accessible on the Unix boxes without X-server installed. The awt.Font
class is used to get font size for proper position of the upper and
lower indexes and so on. Are there any chance, that we could re-use
Fop generated metrics? Where we could start look at that?
In FOP Trunk, the fonts package. Everything's there.
However, currently Vincent Hennebert works on integrating the font
subsystem from FOray which will be a little different. It may make sense
not to rush into anything too quickly here. Vincent implied that it
wouldn't take too long until he has something ready if I remember
correctly.
On the other side, relying on AWT's font subsystem for MathML isn't that
bad. People have to set up one of the three work-arounds for headless
systems anyway. Batik needs it, too.
Taking into consideration these to issues, I guess, that JEuclid is
still to young, however, it is already powerful enough to start look
at it.
Let's start where we can. You can certainly start with the FOP extension
for the new JEuclid. It doesn't have to be perfect at first. I'll try to
find time to see what is now there. I'm sure we'll figure out how best
to approach all this.
Jeremias Maerki