    ---
FreeHEP VectorGraphics 2.1- Release Notes 
    ---
Mark Donszelmann
    ---
    ---

Vector Graphics 2.1 Release Notes

	Release Notes Version: $Revision: 10163 $.

	The most recent version of this file is available at
{{http://java.freehep.org/vectorgraphics/ReleaseNotes-2.1.html}}.

    Release notes for all versions of the VectorGraphics package are available at
{{http://java.freehep.org/vectorgraphics/ReleaseNotes.html}}.

	The VectorGraphics package of {{{http://java.freehep.org}
FreeHEP Java Library}} enables any Java program to export to a variety of
vector graphics formats as well as bitmap image formats. Among the vector formats are PostScript, PDF, EMF,
SVF, and (Flash) SWF. The image formats
include GIF, PNG, JPG, BMP, WBPM and PPM. All image formats included in the Java runtime, as well as any in the Java
Advanced Imaging package (if installed) are also be available.
A special JAVA export format will write a java file with all the calls your application
makes to Graphics2D. This java file can help us debug any potential problems.

    The formats CGM and LaTeX have not been released in version 2.1. They 
may be released at a later date/version. 

	The package uses the standard java.awt.Graphics2D class as its interface to
the user program. Using this package from any Java GUI program is therefore
quite easy. It also comes with a dialog box which allows you to choose between
all the formats mentioned above and set specific parameters for them.

* Contents

  * {{{Major_Changes}Major Changes}}
  
  * {{{Documentation}Documentation}}
  
  * {{{Test_Output}Test Output}}
  
  * {{{License}License}}
  
  * {{{Installation}Installation}}
  
  * {{{Compilation}Compilation}}
  
  * {{{Building_an_Application_with_the_VectorGraphics_package}Building an Application with the VectorGraphics 
  package}}
  
  * {{{Running_the_VectorGraphics_package}Running the VectorGraphics package}}
  
  * {{{FeaturesLimitations_of_the_Current_Release}Features/Limitations of the Current Release}}
  
  * {{{Reporting_Bugs}Reporting Bugs}}
  
  * {{{Examples}Examples}}


* {Major Changes}
        
    This version is binary compatible at the java.awt.Graphics2d level with version 2.0. However if you
used classes/methods from the low-level format drivers or have used methods of the VectorGraphics class
or its descendants you may have to adjust your code and recompile.

    This version runs on Java 1.4.2 and up, but has only been tested mildly in Java 1.6.0.
		
	Below the major changes in general and by format:	
			
** General	

    * [{{{http://bugs.freehep.org/browse/FVG-169}FVG-169}}] - Better font handling for most drivers

    * [{{{http://bugs.freehep.org/browse/FVG-214}FVG-214}}] - Draw clip only if necessary

    * [{{{http://bugs.freehep.org/browse/FVG-252}FVG-252}}] - ALL: TestHTML white box is too small

    * [{{{http://bugs.freehep.org/browse/FVG-256}FVG-256}}] - Add option to ExportDialog to toggle TEXT_AS_SHAPE

    * [{{{http://bugs.freehep.org/browse/FVG-281}FVG-281}}] - Remove refs to LaTeX and CGM from doc.

    * [{{{http://bugs.freehep.org/browse/FVG-282}FVG-282}}] - Eclipse has problems with the POM files. Error about missing 
version.

    * [{{{http://bugs.freehep.org/browse/FVG-285}FVG-285}}] - Fontderivation seems to fail for JDK 1.6.0

    * [{{{http://bugs.freehep.org/browse/FVG-291}FVG-291}}] - FontTable was not normalizing italic.

    * [{{{http://bugs.freehep.org/browse/FVG-293}FVG-293}}] - Moved constants and image creation

    * [{{{http://bugs.freehep.org/browse/FVG-296}FVG-296}}] - Added RenderingHints, AttributedCharacterIterator

    * [{{{http://bugs.freehep.org/browse/FVG-302}FVG-302}}] - Fix for Font.getAttributes() in JDK 1.6

    * [{{{http://bugs.freehep.org/browse/FVG-304}FVG-304}}] - Make AbstractExtTextOut#getText() public

    * [{{{http://bugs.freehep.org/browse/FVG-310}FVG-310}}] - Add a way to export a component in a different size than its own

    * [{{{http://bugs.freehep.org/browse/FVG-312}FVG-312}}] - Compilation (Test) fails with mvn 2.0.6 and 2.0.7 

    []
    	
** Bitmaps

    * [{{{http://bugs.freehep.org/browse/FVG-228}FVG-228}}] - BitMaps, PNG, SWF, SVG: TestAll: Stars missing.

    * [{{{http://bugs.freehep.org/browse/FVG-243}FVG-243}}] - When using the bmp output option from the ExportDialog I get a stack trace from a 'java.lang.IllegalStateException: No compression type set!' exception

    []

** EMF

    * [{{{http://bugs.freehep.org/browse/FVG-69}FVG-69}}] - EMF: TestAll no sky

    * [{{{http://bugs.freehep.org/browse/FVG-97}FVG-97}}] - EMF: add superclass of Poly and PolyPoly

    * [{{{http://bugs.freehep.org/browse/FVG-98}FVG-98}}] - EMF: make superclass for BitMap classes

    * [{{{http://bugs.freehep.org/browse/FVG-233}FVG-233}}] - EMF: TestAll no stars

    * [{{{http://bugs.freehep.org/browse/FVG-277}FVG-277}}] - Rotated texts are broken when exporting to EMF format!

    * [{{{http://bugs.freehep.org/browse/FVG-283}FVG-283}}] - EMF seems to have the wrong type specified in the EMFHeader

    * [{{{http://bugs.freehep.org/browse/FVG-289}FVG-289}}] - EMF fonts are not replayed correctly

    * [{{{http://bugs.freehep.org/browse/FVG-294}FVG-294}}] - EMF: Renderer improvements

    * [{{{http://bugs.freehep.org/browse/FVG-295}FVG-295}}] - EMF: ExtCreateFontIndirectW with size of 368 not supported

    * [{{{http://bugs.freehep.org/browse/FVG-300}FVG-300}}] - Major improvements for EMFRenderer

    * [{{{http://bugs.freehep.org/browse/FVG-301}FVG-301}}] - EMFGraphics2D does not reset the clipping region

    * [{{{http://bugs.freehep.org/browse/FVG-305}FVG-305}}] - EOFException reading an EMF file with some kind of header padding.

    * [{{{http://bugs.freehep.org/browse/FVG-309}FVG-309}}] - setTransform does not work in AbstractVectorGraphicsIO (for PDF and EMF).

    []    
    
** JAVA

    * [{{{http://bugs.freehep.org/browse/FVG-26}FVG-26}}] - JAVA: images are not embedded in file.

    * [{{{http://bugs.freehep.org/browse/FVG-280}FVG-280}}] - Re-enable JAVA module

    * [{{{http://bugs.freehep.org/browse/FVG-307}FVG-307}}] - AlphaComposite.getInstance should use float rather than double.

    * [{{{http://bugs.freehep.org/browse/FVG-308}FVG-308}}] - protect JAVAGeneralPath for null transform.

    []
    
** PDF    
    
    * [{{{http://bugs.freehep.org/browse/FVG-73}FVG-73}}] - setClip in PDF and EPS

    * [{{{http://bugs.freehep.org/browse/FVG-251}FVG-251}}] - PDF, PS, SVG and SWF: TestFontDerivation is wrong

    * [{{{http://bugs.freehep.org/browse/FVG-276}FVG-276}}] - Add use of create() method to Restore Clipping in PS and PDF to FAQ.

    * [{{{http://bugs.freehep.org/browse/FVG-279}FVG-279}}] - PDF has unbalanced q/Q operators

    * [{{{http://bugs.freehep.org/browse/FVG-309}FVG-309}}] - setTransform does not work in AbstractVectorGraphicsIO (for PDF and EMF).

    []
    
** PS
    
    * [{{{http://bugs.freehep.org/browse/FVG-73}FVG-73}}] - setClip in PDF and EPS

    * [{{{http://bugs.freehep.org/browse/FVG-87}FVG-87}}] - PS, SVG: TestAll, TestPaint: TexturePaint is not implemented

    * [{{{http://bugs.freehep.org/browse/FVG-251}FVG-251}}] - PDF, PS, SVG and SWF: TestFontDerivation is wrong

    * [{{{http://bugs.freehep.org/browse/FVG-276}FVG-276}}] - Add use of create() method to Restore Clipping in PS and PDF to FAQ.

    * [{{{http://bugs.freehep.org/browse/FVG-278}FVG-278}}] - TexturePaint fills are broken when exporting to PS format.

    * [{{{http://bugs.freehep.org/browse/FVG-287}FVG-287}}] - Multiple images in PS

    * [{{{http://bugs.freehep.org/browse/FVG-288}FVG-288}}] - PS cannot handle custom page sizes

    []
    
** SVG

    * [{{{http://bugs.freehep.org/browse/FVG-87}FVG-87}}] - PS, SVG: TestAll, TestPaint: TexturePaint is not implemented

    * [{{{http://bugs.freehep.org/browse/FVG-197}FVG-197}}] - SVG: TestResolution eats CPU and produces black image.

    * [{{{http://bugs.freehep.org/browse/FVG-228}FVG-228}}] - BitMaps, PNG, SWF, SVG: TestAll: Stars missing.

    * [{{{http://bugs.freehep.org/browse/FVG-251}FVG-251}}] - PDF, PS, SVG and SWF: TestFontDerivation is wrong

    * [{{{http://bugs.freehep.org/browse/FVG-290}FVG-290}}] - SVG Driver creates incompatible SVG

    []

** SWF
    
    * [{{{http://bugs.freehep.org/browse/FVG-228}FVG-228}}] - BitMaps, PNG, SWF, SVG: TestAll: Stars missing.

    * [{{{http://bugs.freehep.org/browse/FVG-251}FVG-251}}] - PDF, PS, SVG and SWF: TestFontDerivation is wrong

    []
   
   
* {Documentation}

	The following documentation is currently available:

  * {{{http://java.freehep.org/vectorgraphics}The VectorGraphics 
  website}}
  
  * {{{http://java.freehep.org/vectorgraphics/Manual.html}The 
  VectorGraphics User Manual}}


* {Test Output}

    To better understand the behaviour of the VectorGraphics package for different usage on different
Operating Systems and with different JDK's we publish the test results (and a PNG reference) on 
our website: {{http://java.freehep.org/vectorgraphics}}.


* {License}

	The VectorGraphics package is part of the {{{http://java.freehep.org/}FreeHEP Java Library}}, 
an "Open Source" library distributed under the terms of the
{{{http://www.gnu.org/copyleft/lesser.html}LGPL}}. If you have 
questions about the licensing please send a mail to:
{{{mailto:developers@freehep.org}developers@freehep.org}}.


* {Installation}

    All distributions for the VectorGraphics package can be donwloaded from 
{{ftp://ftp.slac.stanford.edu/software/freehep/VectorGraphics/v2.1}}.

	Download the binary distribution vectorgraphics-2.1-bin.tar.gz or the .zip file and unpack. 
It creates the following directory structure:

+--
vectorgraphics-2.1            containing license and release notes
vectorgraphics-2.1/bin        empty
vectorgraphics-2.1/examples   containing examples
vectorgraphics-2.1/lib        containing jar files
+--

    You may optionally download the documentation distribution vectorgraphics-2.1-doc.tar.gz or the .zip file
and unpack. It creates the following directory structure:

+--
vectorgraphics-2.1/doc        empty
vectorgraphics-2.1/site       containing a copy of the website, including these release notes.
+--


* {Compilation}

	The source distribution contain all source files and can be used for recompilation. 
Unless you wish to make modifications, you can just use the binary distribution.
	
	To (re-)build the VectorGraphics package you need:
	
    * The Java Development Kit (JDK), version 1.4.2 or up.
    
    * Maven, version 2.0.4 or up, see {{http://maven.apache.org}}.
    
    * Subversion, version 1.3 or up, see {{http://subversion.tigris.org}}. 
      You only need subversion if you want to build from our source repository.
    
    []

    Get the source code in one of the following ways:

    * Download the source distribution vectorgraphics-2.1-src.tar.gz or .zip file and unpack.
    
    * Check out a copy of the source code either from a tagged version:
	
+--
cd vectorgraphics-2.1
svn co svn://svn.freehep.org/svn/freehep/tags/vectorgraphics-2.1 src
+--

    * If you like to live on the edge from the HEAD of svn:

+--
cd vectorgraphics-2.1
svn co svn://svn.freehep.org/svn/freehep/trunk/vectorgraphics src
+--

    []

    All of these will create a directory in which you will find all VectorGraphics modules:

+--
vectorgraphics-2.1/src/freehep-graphics2d
vectorgraphics-2.1/src/freehep-graphics3d        (to be ignored)
vectorgraphics-2.1/src/freehep-graphicsio
vectorgraphics-2.1/src/freehep-graphicsio-cgm    (not included in this release, but available for compilation)
vectorgraphics-2.1/src/freehep-graphicsio-emf
vectorgraphics-2.1/src/freehep-graphicsio-java   
vectorgraphics-2.1/src/freehep-graphicsio-latex  (not included in this release, but available for compilation)
vectorgraphics-2.1/src/freehep-graphicsio-pdf
vectorgraphics-2.1/src/freehep-graphicsio-ps
vectorgraphics-2.1/src/freehep-graphicsio-svg
vectorgraphics-2.1/src/freehep-graphicsio-swf
vectorgraphics-2.1/src/freehep-graphicsio-tests
vectorgraphics-2.1/src/pom.xml
vectorgraphics-2.1/src/site/...                  (the website and files for building the distributions)
vectorgraphics-2.1/src/..                        (other files)
+--
	
    To compile and run the tests type the following:

+--
cd vectorgraphics-2.1/src
mvn
+--

    To recreate the full distribution
    
+--
cd vectorgraphics-2.1/src
mvn javadoc:javadoc             (creates aggregated apidoc)
mvn site:site                   (creates top-level site, module-sites and module-apidoc)
mvn install assembly:attached   (compiles, runs tests and creates -bin, -doc and -src distributions) 
+--
	
    For further instructions see the {{{http://java.freehep.org/}FreeHEP WebSite}}.


* {Building an Application with the VectorGraphics package}

	Add the following libraries to your CLASSPATH:

+--
freehep-graphics2d-2.1.jar
freehep-export-2.1.jar
openide-lookup-1.9-patched-1.0.jar
freehep-swing-2.0.2.jar
freehep-util-2.0.2.jar
+--


* {Running an Application with the VectorGraphics package}

	Add the following libraries to your CLASSPATH:

+--
freehep-graphicsio-2.1.jar
freehep-io-2.0.2.jar

freehep-graphics2d-2.1.jar
freehep-export-2.1.jar
openide-lookup-1.9-patched-1.0.jar
freehep-swing-2.0.2.jar
freehep-util-2.0.2.jar
+--

  	Then add any or all of the following jar files to your CLASSPATH to enable these vector 
format as output:

+--
freehep-graphicsio-emf-2.1.jar
    jdom-1.0.jar                            (needed by freehep-graphicsio-emf for the EMF2SVG converter)
freehep-graphicsio-pdf-2.1.jar
freehep-graphicsio-ps-2.1.jar
freehep-graphicsio-svg-2.1.jar
    freehep-xml-2.0.1.jar                   (needed by freehep-graphicsio-svg)
freehep-graphicsio-swf-2.1.jar
+--

    To run any of the tests you must also add:
    
+--
freehep-graphicsio-tests-2.1.jar
jas-plotter-2.0.jar
junit-3.8.2.jar
+--

    To debug and write out a java file add:

+--
freehep-graphicsio-java-2.1.jar
+--


* Usage with Maven

    All of the jar files listed above, including the -javadoc and -source jar 
attachements are available from our maven servers:
    
    [Maven 1 URL] http://java.freehep.org/maven
    
    [Maven 2 URL] http://java.freehep.org/maven2

    [GroupId] org.freehep

    [ArtifactId] as listed above

    [Version] as listed above 

    []
    

* {Features/Limitations of the Current Release}

	The following limitations exist:

    * Some {{{http://bugs.freehep.org/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolutionIds=-1&pid=10170&fixfor=10651}Operating System Limitations}}.
  
    * Some {{{http://bugs.freehep.org/secure/IssueNavigator.jspa?reset=true&mode=hide&sorter/order=DESC&sorter/field=priority&resolutionIds=-1&pid=10170&fixfor=10650}Format Limitations}}.

    * All outstanding issues in the {{{http://bugs.freehep.org/browse/FVG}Bug Database}}.

    * The vectorgraphics-2.1-src.tar.gz and .zip distribution may contain some files which are not needed
      to build the VectorGraphics package.  

    []


* {Reporting Bugs}

	To report bugs or request enhancements you may use the
{{{http://bugs.freehep.org/browse/FVG}FreeHEP Bug Database}} and 
the {{{http://forum.freehep.org/index.php?t=thread&frm_id=8&rid=0}FreeHEP VectorGraphics Forum}}.


* {Examples}

	The VectorGraphics-version/examples directory contains: 

    * ExportDialogExample.java to show how to use the default ExportDialog that 
      comes with the VectorGraphics package.

    * HeadlessExample.java to show how you can write out any format
      while not actually displaying anything on the screen.

    * pom.xml to compile the example files.

    []
    
