MathML for fop-trunk

2005-12-09 Thread Gennadiy Tsarenkov
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.

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.

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?

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.

-- 
Best regards,
 Gennadiy Tsarenkov




Re: MathML for fop-trunk

2005-12-09 Thread Jeremias Maerki
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



Re: MathML for fop-trunk

2005-12-09 Thread Vincent Hennebert

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.


Right. My patch should be available in a few days now.

You may start to have a look at the aXSL web page [1], and especially
the axslFont module. This is the interface that will be available to
users of the font sub-system. I suggest you download aXSL through the
CVS repository and just build the javadoc to see what will be available
to you (the most important interfaces are Font and FontUse).

If you decide to look at aXSL and have any questions, please ask them on
the aXSL mailing-list [2], which will be more appropriate than this
list.

I'm glad to see that MathML support is coming along.
Thank you,
Vincent


[1] http://www.axsl.org
[2] http://sourceforge.net/mail/?group_id=123259