You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by de...@apache.org on 2003/09/30 02:30:54 UTC

cvs commit: xml-batik/sources/org/apache/batik/svggen SVGRenderingHints.java

deweese     2003/09/29 17:30:54

  Modified:    .        MAINTAIN build.xml
               sources/org/apache/batik/gvt/font AWTGVTGlyphVector.java
               sources/org/apache/batik/gvt/renderer
                        StrokingTextPainter.java
               sources/org/apache/batik/svggen SVGRenderingHints.java
  Log:
  Updated MAINTAIN file to explain how to make a release with new
  apache mirror structure.
  
  PR: 23030 - SVG Graphics2D has inverted text anti-aliasing
  PR: 23038 - Docs for  all-jar target
  PR: 23079 - TextNode.getBounds returns wrong bounds.
  PR: 23177 - javadocs now uses splitindex
  
  Revision  Changes    Path
  1.10      +87 -21    xml-batik/MAINTAIN
  
  Index: MAINTAIN
  ===================================================================
  RCS file: /home/cvs/xml-batik/MAINTAIN,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- MAINTAIN	8 Jul 2003 07:32:36 -0000	1.9
  +++ MAINTAIN	30 Sep 2003 00:30:54 -0000	1.10
  @@ -17,19 +17,31 @@
   
   For creating a distribution the following steps must be done:
   
  - 1) modify build.xml with the distribution version. Only modify the version 
  + 1) Modify build.xml with the distribution version. Only modify the version 
       for main releases (e.g. version value="1.1") but not for release 
  -    candidates or beta versions where only the revision type and number should be 
  -    updated(e.g. revisionType value="beta" and revisionNumber value="3")
  +    candidates or beta versions where only the revision type and
  +    number should be updated(e.g. revisionType value="beta" and
  +    revisionNumber value="3")
   
  - 2) update the splash screens:
  + 2) Add your public key to the KEYS file in the root directory of
  +    Batik if it isn't already there.  The following link has the
  +    details on what this means and how to do it.
  +
  +        http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases
  +
  + 3) Update the splash screens:
       build splash
   
  - 3) commit the updated splash screens into CVS:
  -    cvs commit xdocs/images/splash.png  xdocs/images/splash.svg
  -    cvs commit resources/org/apache/batik/apps/svgbrowser/resources/squiggle.png
  + 4) Commit these changes to CVS, in general only the following files
  +    should be modified:
  +
  +    build.xml
  +    KEYS
  +    xdocs/images/splash.png  
  +    xdocs/images/splash.svg
  +    resources/org/apache/batik/apps/svgbrowser/resources/squiggle.png
   
  - 4) tag the release on CVS:
  + 5) tag the release on CVS:
         cvs rtag <tag> <module>
         e.g., cvs rtag batik-1_1rc3 xml-batik. 
       Note: sometimes, it is necessary to remove a tag because the 
  @@ -38,16 +50,16 @@
         cvs rtag -d <tag> <module>
         e.g., cvs rtag -d batik-1_1rc3 xml-batik
   
  - 5) checkout the tagged release:
  + 6) checkout the tagged release to a new directory:
         cvs co -r <tag> xml-batik
         e.g., cvs co -r batik-1_1rc3 xml-batik
   
  - 6) run the build script with target "dist-zip"
  + 7) run the build script with target "dist-zip"
         build dist-zip 
       this will create the binary release zip, the source release zip and the
       javadoc zip.
   
  - 7) test the distributions
  + 8) test the distributions
         build regard
         build regard.manual
       The build results are in xml-batik/test-reports. Check that there
  @@ -62,29 +74,78 @@
       http://www.w3.org/Graphics/SVG for instructions on how to get
       the SVG test suite.
   
  - 8) Update the README file describing the content of the release and
  + 9) Update the README file describing the content of the release and
       the modifications which have taken place:
       http://xml.apache.org/batik/dist/README 
   
  - 9) - If you are creating a release candidate, rename the distribution files
  -      to an rc name. For example:
  +10) If you are creating a release candidate, rename the distribution files
  +    to an rc name. For example:
         mv batik-src-1.1.zip batik-src-1.1rc1.zip
   
  -    - scp the distributions and the README under /www/xml.apache.org/dist/batik/
  -    e.g., scp batik-1.1rc1.zip vhardy@xml.apache.org:/www/xml.apache.org/dist/batik/
  -
  -10) send an email to the batik-dev and batik-users mailing lists announcing the
  -    release.
  +11) Sign and create md5 hashes for the releases. The following link
  +    has full details on how to sign things (if you don't want to know
  +    anything the last section 'Using GPG' tells you what commands work).
  +
  +        http://nagoya.apache.org/wiki/apachewiki.cgi?SigningReleases
  +
  +    e.g. gpg --output batik-1.5.zip.asc --detach-sig --armor batik-1.5.zip
  +         md5 batik-1.5.zip > batik-1.5.zip.md5
  +
  +11) Use 'scp' to copy  the distributions (with md5 hashes, and signature 
  +    files), the README, and the KEYS file under 
  +        /www/www.apache.org/dist/xml/batik/
  +
  +     e.g., 'scp batik-1.1rc1.zip* vhardy@xml.apache.org:/www/www.apache.org/dist/xml/batik/'
  +
  +11) Finish setting up the distribution directory in accordance with:
  +
  +      http://www.apache.org/dev/mirrors.html
  +      http://cvs.apache.org/~bodewig/mirror.html
  +    
  +    This makes sure that the distribution is mirrored nicely around
  +    the world.
  +
  +    Start by logging into cvs.apache.org (e.g. 'ssh vhardy@cvs.apache.org').
  +
  +    First make sure file permissions are correct.  The
  +    new files should be owned by group 'xml' and be group writable.
  +    The following commands can do this (don't worry about links):
  +       chgrp xml batik-1.5.zip
  +       chmod 664 batik-1.5.zip
  +
  +    If you are making a 'final' release you should delete the existing
  +    'current' links and re-point them at the new release (do this
  +    for every file with a version number in it - including md5, and
  +    asc files):
  +       cd /www/www.apache.org/dist/xml/batik
  +       rm batik-current.zip
  +       ln -s batik-1.5.zip batik-current.zip
  +       rm batik-current.zip.md5
  +       ln -s batik-1.5.zip.md5 batik-current.zip.md5
  +       rm batik-current.zip.asc
  +       ln -s batik-1.5.zip.asc batik-current.zip.asc
  +       <- lots more files ->
  +
  +    Finally remove the old releases (every release is automatically copied 
  +    to 'archives.apache.org/dist/xml/batik' from
  +    'www.apache.org/dist/xml/batik' so you can just remove an old
  +    release from www.apache.org:
  +       rm batik-1.5b4.zip
  +
  +10) Wait approximately 24hrs for the files to get to all the mirrors,
  +    then send an email to the batik-dev and batik-users mailing lists
  +    announcing the release.
   
   Site Creation
   -------------
   
   For creating the web site, the following steps must be done:
   
  +
   [Note: due to JVM font-rendering problems, this is best done on a windows machine]
   
  - 1) make sure you checked out the module "xml-site" in the same directory
  -    as your project module
  + 1) make sure you checked out the module "xml-site/targets/batik" in
  +    the same directory as your project module
    2) run the build script with target "site"
    3) commit the xml-site/targets/[project] directory
    4) connect to xml.apache.org with your account
  @@ -93,3 +154,8 @@
    
   [NOTE: you must have commit access on xml-site to be able to do this]
   
  +Nightly Builds
  +--------------
  +
  +The nightly builds are current performed by a crontab entry in
  +Thomas DeWeese's cvs.apache.org account: /home/deweese/bin/nightly.csh
  
  
  
  1.142     +4 -1      xml-batik/build.xml
  
  Index: build.xml
  ===================================================================
  RCS file: /home/cvs/xml-batik/build.xml,v
  retrieving revision 1.141
  retrieving revision 1.142
  diff -u -r1.141 -r1.142
  --- build.xml	26 Sep 2003 12:28:28 -0000	1.141
  +++ build.xml	30 Sep 2003 00:30:54 -0000	1.142
  @@ -164,6 +164,8 @@
       <echo message="   clean         --> cleans up the directory"/>
       <echo message="   splash        --> Updates documentation and browser splash screens"/>
       <echo message="   jarDepend     --> Updates jar files dependency image"/>
  +    <echo message="   all-jar       --> Creates a combined JAR file of the Batik"/>
  +    <echo message="                     libraries in ${build}/lib"/>
       <echo message=""/>
       <echo message=" See the comments in the build.xml file for more details."/>
       <echo message=""/>
  @@ -1221,6 +1223,7 @@
                author="false"
                version="false"
                use="true"
  +             splitindex="true"
                windowtitle="${Project} Javadoc"
                doctitle="${Project} API Specification"
                bottom="Copyright &#169; ${year} Apache Software Foundation. All Rights Reserved.">
  
  
  
  1.30      +17 -14    xml-batik/sources/org/apache/batik/gvt/font/AWTGVTGlyphVector.java
  
  Index: AWTGVTGlyphVector.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/font/AWTGVTGlyphVector.java,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- AWTGVTGlyphVector.java	15 Sep 2003 00:17:59 -0000	1.29
  +++ AWTGVTGlyphVector.java	30 Sep 2003 00:30:54 -0000	1.30
  @@ -205,10 +205,9 @@
               TextPaintInfo.equivilent(tpi, cacheTPI))
               return bounds2D;
   
  -        if (tpi == null) {
  -            bounds2D = new Rectangle2D.Float();
  -            return bounds2D;
  -        }
  +        if (tpi == null)
  +            return null;
  +
           cacheTPI = new TextPaintInfo(tpi);
           Shape outline = null;
           if (tpi.fillPaint != null) {
  @@ -231,7 +230,11 @@
                   bounds2D = bounds2D.createUnion(strokeBounds);
           }
           if (bounds2D == null)
  -            bounds2D = new Rectangle2D.Float();
  +            return null;
  +
  +        if ((bounds2D.getWidth()  == 0) ||
  +            (bounds2D.getHeight() == 0))
  +            bounds2D = null;
   
           return bounds2D;
       }
  @@ -638,16 +641,16 @@
        * of this GlyphVector.
        */
       public Shape getOutline() {
  -        if (outline == null) {
  -            outline = new GeneralPath();
  -            for (int i = 0; i < getNumGlyphs(); i++) {
  -                if (glyphVisible[i]) {
  -                    Shape glyphOutline = getGlyphOutline(i);
  -                    outline.append(glyphOutline, false);
  -                }
  +        if (outline != null) 
  +            return outline;
  +        
  +        outline = new GeneralPath();
  +        for (int i = 0; i < getNumGlyphs(); i++) {
  +            if (glyphVisible[i]) {
  +                Shape glyphOutline = getGlyphOutline(i);
  +                outline.append(glyphOutline, false);
               }
           }
  -
           return outline;
       }
   
  
  
  
  1.51      +9 -9      xml-batik/sources/org/apache/batik/gvt/renderer/StrokingTextPainter.java
  
  Index: StrokingTextPainter.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/gvt/renderer/StrokingTextPainter.java,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -r1.50 -r1.51
  --- StrokingTextPainter.java	7 Sep 2003 22:25:28 -0000	1.50
  +++ StrokingTextPainter.java	30 Sep 2003 00:30:54 -0000	1.51
  @@ -1144,16 +1144,17 @@
           for (int i = 0; i < textRuns.size(); ++i) {
               TextRun textRun = (TextRun)textRuns.get(i);
               AttributedCharacterIterator textRunACI = textRun.getACI();
  -            textRunACI.first();
  -
               TextSpanLayout textRunLayout = textRun.getLayout();
  -
  -            if (bounds == null)
  -                bounds = textRunLayout.getBounds2D();
  -            else
  -                bounds = bounds.createUnion(textRunLayout.getBounds2D());
  +            Rectangle2D runBounds = textRunLayout.getBounds2D();
  +            if (runBounds != null) {
  +                if (bounds == null)
  +                    bounds = runBounds;
  +                else
  +                    bounds = bounds.createUnion(runBounds);
  +            }
           }
   
  +
           // append any stroked decoration outlines
           Shape underline = getDecorationStrokeOutline
               (textRuns, TextSpanLayout.DECORATION_UNDERLINE);
  @@ -1182,7 +1183,6 @@
               else
                   bounds = bounds.createUnion(overline.getBounds2D());
           }
  -
           return bounds;
       }
   
  
  
  
  1.17      +2 -2      xml-batik/sources/org/apache/batik/svggen/SVGRenderingHints.java
  
  Index: SVGRenderingHints.java
  ===================================================================
  RCS file: /home/cvs/xml-batik/sources/org/apache/batik/svggen/SVGRenderingHints.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- SVGRenderingHints.java	9 Aug 2003 16:58:39 -0000	1.16
  +++ SVGRenderingHints.java	30 Sep 2003 00:30:54 -0000	1.17
  @@ -174,7 +174,7 @@
               //
               Object textAntialiasing = hints.get(RenderingHints.KEY_TEXT_ANTIALIASING);
               if(textAntialiasing == RenderingHints.VALUE_TEXT_ANTIALIAS_ON)
  -                textRendering = SVG_OPTIMIZE_LEGIBILITY_VALUE;
  +                textRendering = SVG_GEOMETRIC_PRECISION_VALUE;
               else if(textAntialiasing == RenderingHints.VALUE_TEXT_ANTIALIAS_OFF)
                   textRendering = SVG_OPTIMIZE_SPEED_VALUE;
               else if(textAntialiasing == RenderingHints.VALUE_TEXT_ANTIALIAS_DEFAULT)
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: batik-dev-unsubscribe@xml.apache.org
For additional commands, e-mail: batik-dev-help@xml.apache.org