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