#

## Obtaining JEuclid

You may download JEuclid from the sourceforge project site for JEuclid as a binary package or from source. Please note: There are several binary packages:

jeuclid-x.x.x-distribution

  Contains the full JEuclid distribution with all supported output formats (such as png, svg, pdf). This is what most people need.

jeuclid-x.x.x-minimal

  Contains a minimal JEuclid distribution which supports only the standard Java output formats. Use this if you need only these formats (such as png), if you want to embed JEuclid into a non-maven2 project, or if you're interested in viewing math only.

jeuclid-mathviewer-x.x.x-osx

  Contains the MathViewer as an application bundle for Mac OS X.

jeuclid-mathviewer-x.x.x-win32

  Contains the MathViewer as an application bundle for Windows. It works both on 32bit and 64bit Windows, as long as a 32 bit JRE is installed.

jeuclid-fop-x.x.x-distribution

  Contains only the plug-in for Apache FOP.

If you just want the MathViewer you may also start it from our MathViewer WebStart page.

## Additional Installs

For best results, we recommend installing either one of the following font sets:

- DejaVu Fonts

  - Windows: Download the `.zip` distribution from the site mentioned above. Install these fonts into your system (instructions are available at Microsoft Typography)

  - OS X: Download the `.zip` distribution from the site mentioned above. Drag the `.ttf` files into your `/Library/Fonts` (or your personal `Library/Fonts`) directory

  - Debian + Ubuntu Linux: use `apt-get install ttf-dejavu`

- OpenSymbol

  The DejaVu fonts are not yet complete. Full support for MathML symbols is on the roadmap for the near future (as or mar 07). In the mean time, the OpenSymbol font (from OO >= 2.2) has support for many mathematical symbols

  - Windows / OS X: This font is part of OpenOffice

  - Debian + Ubuntu Linux: use `apt-get install ttf-opensymbol`

- Arial Unicode MS

  - Windows: This font is part of MS Office (2000/2003)

  - OS X: This font is part of MS Office (X,2004)

  - Unix / Linux: Please use the DejaVu fonts. Do not copy the Arial Unicode font from a Windows system, as you may violate the license!

- Cambria / Cambria Math

  - Windows: It is included in Windows Vista and Office 2007.

  - Other Systems: Do not copy the Cambria font without a valid license!

Also, please ensure you have installed Asian font support. Some characters in MathML are part of the CJK character set.

## MathViewer

To run the MathViewer application, you may use the `mathviewer` or `mathviewer.bat` script from the `bin/` directory of the distribution.

If you use the one of the OS dependent packages, the MathViewer is included as an application.

## Convert MathML to other Formats

You may use the included `mml2xxx` (unix) or `mml2xx.bat` (windows) script from the `bin/` directory in the distribution.

Example:

    mml2xxx a.mml a.png -backgroundColor white

To get a list of possible options, just `mml2xxx` without any parameters. Please see the JEuclid FAQ or run `mml2xx` without parameters for a list of supported output formats.

## Within Ant

You will need to define the converter task:

    <taskdef name="mmlconverter" classname="net.sourceforge.jeuclid.ant.MathMLConverter">

with the needed JAR files in the classpath.

### Input and output file(s)

The task can work with single input file or with a fileset. If you use a single input file, you must set an output file as well.

Single input file

    <mmlconverter in="input.odf" out="output.svg"/>

For using simple filesets, there are 2 methods: as attribute of task or nested element. Nested elements are universal, because they can repeat more than one element include/exclude. Examples are below:

Fileset with input files specified by attributes

    <mmlconverter basedir="input_dir" destdir="output_dir" includes="*.odf" excludes="test*.odf"/>

Fileset with input files specified by elements

    <mmlconverter basedir="input_dir" destdir="output_dir">
      <include name="*.odf"/>
      <include name="*.mml"/>
      <exclude name="test*.odf"/>
      <exclude name="test*.mml"/>
    </mmlconverter>

If you do not set basedir, the task will use the base directory of the called build file.

### Type of output file

The next attribute is type, which specifies which converter class to use. Default type is image/png.

    <mmlconverter in="input.odf" out="output.svg" type="image/svg+xml"/>

### Font size and fonts

Sets basic font size and others font size as minimal for anti alias.

Font size

    <mml converter in="input.odf" out="output.svg" type="image/svg+xml"
      fontsize="22.0"
      antialiasminsize="10.0"
      scriptminsize="8.0"
      scriptsizemult="0.71"
    />

Next parameters are lists of font families e.g. for Sun-Serif, Monospaced font family. List is seperated by comma.

List of font family

    <mml converter in="input.odf" out="output.svg" type="image/svg+xml"
      fontsmonospaced="Courier,Courier Mono,Courier New,Lucida Sans"
      fontssunserif="Helvetica,Arial,Arial Unicode MS,Lucida Sans"
    />

### Others parameters

As others parameters can sets background/foreground color, enable anti alias or debugging and other. All supported parameters are same as in command line interface (see ).

## As FOP plug-in

Documentation is available on the JEuclid FOP plug-in site.

## Embedded MathML within XSL-FO or XHTML

You may use the included `foprep` application to convert MathML embedded in XSL-FO and XHTML files to SVG. This will allow you to render your documents with other xsl-fo renderers or on browsers with SVG support (newer versions of Opera, Firefox, Safari, ... ).

## In your own App

### Programming with JEuclid

This information has moved to the Programming with JEuclid page.

### Java 1.6 extensions

JEuclid contains additional functionality available on Java ≥ 1.6. To use this functionality you need to add `jeuclid-core16-xxx.jar` to your project in addition to `jeuclid-core-xxx.jar`.

### Maven based projects

JEuclid is uploaded to ibiblio, and is therefore available in your project by adding

    <depencency>
      <groupId>net.sourceforge.jeuclid</groupId>
      <artifactId>jeuclid-core</artifactId>
    </depencenty>

to your dependencies section.

### Snapshot versions

If you wish to use the latest developer version, you need to declare the following repository

    <repository>
      <id>jeuclid-snapshots</id>
      <url>http://jeuclid.sourceforge.net/m2-snap/</url>
      <releases>
        <enabled>false</enabled>
      </releases>
      <snapshots>
        <enabled>true</enabled>
      </snapshots>
    </repository>

## As a cocoon component

To use the Cocoon component you have to download JEuclid 2. Please see the included INSTALL instructions. The Cocoon component is currently not under active development. Volunteers are welcome!