From batik-commits-return-428jacobsonlaura@example.net Fri Sep 08 08:56:48 2006 Return-Path: <batik-commits-return-428jacobsonlaura@example.net> Delivered-To: jacobsonlaura@example.net Received: (qmail 75889 invoked from network); 8 Sep 2006 08:56:45 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 8 Sep 2006 08:56:45 -0000 Received: (qmail 73300 invoked by uid 500); 8 Sep 2006 08:56:45 -0000 Delivered-To: jacobsonlaura@example.net Received: (qmail 73283 invoked by uid 500); 8 Sep 2006 08:56:45 -0000 Mailing-List: contact jacobsonlaura@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:jacobsonlaura@example.net> List-Unsubscribe: <mailto:jacobsonlaura@example.net> List-Post: <mailto:jacobsonlaura@example.net> List-Id: <batik-commits.xmlgraphics.apache.org> Reply-To: jacobsonlaura@example.net Delivered-To: mailing list jacobsonlaura@example.net Received: (qmail 73272 invoked by uid 99); 8 Sep 2006 08:56:45 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Sep 2006 01:56:45 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Sep 2006 01:56:44 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 3F9891A981A; Fri, 8 Sep 2006 01:56:24 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r441442 - /xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVG12DOMImplementation.java Date: Fri, 08 Sep 2006 08:56:24 -0000 To: jacobsonlaura@example.net From: jacobsonlaura@example.net X-Mailer: svnmailer-1.1.0 Message-Id: <jacobsonlaura@example.net> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: cam Date: Fri Sep 8 01:56:23 2006 New Revision: 441442 URL: http://svn.apache.org/viewvc?view=rev&rev=441442 Log: 1. Make SVG 1.2 documents create appropriate DOM objects for extension elements. Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVG12DOMImplementation.java Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVG12DOMImplementation.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVG12DOMImplementation.java?view=diff&rev=441442&r1=441441&r2=441442 ============================================================================== --- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVG12DOMImplementation.java (original) +++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg12/SVG12DOMImplementation.java Fri Sep 8 01:56:23 2006 @@ -113,19 +113,27 @@ return new GenericElement(qualifiedName.intern(), document); String name = DOMUtilities.getLocalName(qualifiedName); + String prefix = DOMUtilities.getPrefix(qualifiedName); if (SVG12Constants.SVG_NAMESPACE_URI.equals(namespaceURI)) { ElementFactory ef = (ElementFactory)factories.get(name); - if (ef != null) - return ef.create(DOMUtilities.getPrefix(qualifiedName), - document); + if (ef != null) { + return ef.create(prefix, document); + } } else if (XBLConstants.XBL_NAMESPACE_URI.equals(namespaceURI)) { ElementFactory ef = (ElementFactory)xblFactories.get(name); - if (ef != null) - return ef.create(DOMUtilities.getPrefix(qualifiedName), - document); + if (ef != null) { + return ef.create(prefix, document); + } + } + + if (customFactories != null) { + ElementFactory cef; + cef = (ElementFactory)customFactories.get(namespaceURI, name); + if (cef != null) { + return cef.create(prefix, document); + } } - String prefix = DOMUtilities.getPrefix(qualifiedName); return new BindableElement(prefix, document, namespaceURI, name); } From batik-commits-return-429jacobsonlaura@example.net Fri Sep 08 11:45:34 2006 Return-Path: <batik-commits-return-429jacobsonlaura@example.net> Delivered-To: jacobsonlaura@example.net Received: (qmail 19178 invoked from network); 8 Sep 2006 11:45:30 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 8 Sep 2006 11:45:30 -0000 Received: (qmail 21042 invoked by uid 500); 8 Sep 2006 11:45:30 -0000 Delivered-To: jacobsonlaura@example.net Received: (qmail 20927 invoked by uid 500); 8 Sep 2006 11:45:30 -0000 Mailing-List: contact jacobsonlaura@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:jacobsonlaura@example.net> List-Unsubscribe: <mailto:jacobsonlaura@example.net> List-Post: <mailto:jacobsonlaura@example.net> List-Id: <batik-commits.xmlgraphics.apache.org> Reply-To: jacobsonlaura@example.net Delivered-To: mailing list jacobsonlaura@example.net Received: (qmail 20916 invoked by uid 99); 8 Sep 2006 11:45:30 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Sep 2006 04:45:29 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Sep 2006 04:45:29 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 20B431A981A; Fri, 8 Sep 2006 04:45:09 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r441479 - in /xmlgraphics/batik/trunk/sources/org/apache/batik: dom/svg/SVGOMAnimatedPathData.java transcoder/XMLAbstractTranscoder.java Date: Fri, 08 Sep 2006 11:45:08 -0000 To: jacobsonlaura@example.net From: jacobsonlaura@example.net X-Mailer: svnmailer-1.1.0 Message-Id: <jacobsonlaura@example.net> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: deweese Date: Fri Sep 8 04:45:08 2006 New Revision: 441479 URL: http://svn.apache.org/viewvc?view=rev&rev=441479 Log: 1) Fixed significant performance bug in creating geometry (it was parsing the entire path for each entry in the path, O(N^2) ). 2) Fixed bug #40405 (Thanks Kirill!) Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedPathData.java xmlgraphics/batik/trunk/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedPathData.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedPathData.java?view=diff&rev=441479&r1=441478&r2=441479 ============================================================================== --- xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedPathData.java (original) +++ xmlgraphics/batik/trunk/sources/org/apache/batik/dom/svg/SVGOMAnimatedPathData.java Fri Sep 8 04:45:08 2006 @@ -292,10 +292,11 @@ itemList = builder.getList(); } catch (ParseException e) { itemList = new ArrayList(1); - valid = true; throw new LiveAttributeException (element, localName, LiveAttributeException.ERR_ATTRIBUTE_MALFORMED, s); + } finally { + valid = true; } } } @@ -371,12 +372,12 @@ itemList = builder.getList(); } catch (ParseException e) { itemList = new ArrayList(1); - valid = true; throw new LiveAttributeException (element, localName, LiveAttributeException.ERR_ATTRIBUTE_MALFORMED, s); + } finally { + valid = true; } - valid = true; } } Modified: xmlgraphics/batik/trunk/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java?view=diff&rev=441479&r1=441478&r2=441479 ============================================================================== --- xmlgraphics/batik/trunk/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java (original) +++ xmlgraphics/batik/trunk/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java Fri Sep 8 04:45:08 2006 @@ -132,7 +132,6 @@ } catch (DOMException ex) { handler.fatalError(new TranscoderException(ex)); } catch (IOException ex) { - ex.printStackTrace(); handler.fatalError(new TranscoderException(ex)); } } From batik-commits-return-430jacobsonlaura@example.net Fri Sep 08 11:50:53 2006 Return-Path: <batik-commits-return-430jacobsonlaura@example.net> Delivered-To: jacobsonlaura@example.net Received: (qmail 20423 invoked from network); 8 Sep 2006 11:50:53 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 8 Sep 2006 11:50:53 -0000 Received: (qmail 28644 invoked by uid 500); 8 Sep 2006 11:50:52 -0000 Delivered-To: jacobsonlaura@example.net Received: (qmail 28627 invoked by uid 500); 8 Sep 2006 11:50:52 -0000 Mailing-List: contact jacobsonlaura@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:jacobsonlaura@example.net> List-Unsubscribe: <mailto:jacobsonlaura@example.net> List-Post: <mailto:jacobsonlaura@example.net> List-Id: <batik-commits.xmlgraphics.apache.org> Reply-To: jacobsonlaura@example.net Delivered-To: mailing list jacobsonlaura@example.net Received: (qmail 28616 invoked by uid 99); 8 Sep 2006 11:50:52 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Sep 2006 04:50:52 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 08 Sep 2006 04:50:52 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 267191A981A; Fri, 8 Sep 2006 04:50:32 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r441480 - /xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java Date: Fri, 08 Sep 2006 11:50:32 -0000 To: jacobsonlaura@example.net From: jacobsonlaura@example.net X-Mailer: svnmailer-1.1.0 Message-Id: <jacobsonlaura@example.net> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: deweese Date: Fri Sep 8 04:50:31 2006 New Revision: 441480 URL: http://svn.apache.org/viewvc?view=rev&rev=441480 Log: Fixed bug #40405 (Thanks Kirill) Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java?view=diff&rev=441480&r1=441479&r2=441480 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/XMLAbstractTranscoder.java Fri Sep 8 04:50:31 2006 @@ -132,7 +132,6 @@ } catch (DOMException ex) { handler.fatalError(new TranscoderException(ex)); } catch (IOException ex) { - ex.printStackTrace(); handler.fatalError(new TranscoderException(ex)); } } From batik-commits-return-431jacobsonlaura@example.net Sat Sep 09 13:38:02 2006 Return-Path: <batik-commits-return-431jacobsonlaura@example.net> Delivered-To: jacobsonlaura@example.net Received: (qmail 70826 invoked from network); 9 Sep 2006 13:38:01 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 9 Sep 2006 13:38:01 -0000 Received: (qmail 89326 invoked by uid 500); 9 Sep 2006 13:38:01 -0000 Delivered-To: jacobsonlaura@example.net Received: (qmail 89302 invoked by uid 500); 9 Sep 2006 13:38:01 -0000 Mailing-List: contact jacobsonlaura@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:jacobsonlaura@example.net> List-Unsubscribe: <mailto:jacobsonlaura@example.net> List-Post: <mailto:jacobsonlaura@example.net> List-Id: <batik-commits.xmlgraphics.apache.org> Reply-To: jacobsonlaura@example.net Delivered-To: mailing list jacobsonlaura@example.net Received: (qmail 89274 invoked by uid 99); 9 Sep 2006 13:38:01 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Sep 2006 06:38:01 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 09 Sep 2006 06:37:58 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id E89501A981A; Sat, 9 Sep 2006 06:37:37 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r441788 - in /xmlgraphics/batik/branches/svg11: sources/org/apache/batik/svggen/ sources/org/apache/batik/transcoder/wmf/ sources/org/apache/batik/transcoder/wmf/tosvg/ test-references/org/apache/batik/svggen/ test-references/org/apache/bat... Date: Sat, 09 Sep 2006 13:37:37 -0000 To: jacobsonlaura@example.net From: jacobsonlaura@example.net X-Mailer: svnmailer-1.1.0 Message-Id: <jacobsonlaura@example.net> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Author: deweese Date: Sat Sep 9 06:37:36 2006 New Revision: 441788 URL: http://svn.apache.org/viewvc?view=rev&rev=441788 Log: 1) Fixed WMF Text issues. Many thanks Herve Girod! 2) Updated test-references. Bug #40368, #40403 Added: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFUtilities.java (with props) Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/svggen/SVGGraphics2D.java xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/WMFConstants.java xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFPainter.java xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFReader.java xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFHeaderProperties.java xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFPainter.java xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFTranscoder.java xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/AttributedCharacterIterator.svg xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/ContextAttributedCharacterIterator.svg xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/black_shapes.svg xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/testChart.svg xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/textGreek.svg Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/svggen/SVGGraphics2D.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/svggen/SVGGraphics2D.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/svggen/SVGGraphics2D.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/svggen/SVGGraphics2D.java Sat Sep 9 06:37:36 2006 @@ -1206,14 +1206,15 @@ AffineTransform savTxf = getTransform(); AffineTransform txtTxf = transformText(x, y); - Element text = - getDOMFactory().createElementNS(SVG_NAMESPACE_URI, SVG_TEXT_TAG); - text.setAttributeNS(null, SVG_X_ATTRIBUTE, generatorCtx.doubleString(x)); - text.setAttributeNS(null, SVG_Y_ATTRIBUTE, generatorCtx.doubleString(y)); - - text.setAttributeNS(XML_NAMESPACE_URI, - XML_SPACE_ATTRIBUTE, + Element text = getDOMFactory().createElementNS(SVG_NAMESPACE_URI, + SVG_TEXT_TAG); + text.setAttributeNS(null, SVG_X_ATTRIBUTE, + generatorCtx.doubleString(x)); + text.setAttributeNS(null, SVG_Y_ATTRIBUTE, + generatorCtx.doubleString(y)); + text.setAttributeNS(XML_NAMESPACE_URI, XML_SPACE_ATTRIBUTE, XML_PRESERVE_VALUE); + text.appendChild(getDOMFactory().createTextNode(s)); domGroupManager.addElement(text, DOMGroupManager.FILL); @@ -1288,6 +1289,8 @@ generatorCtx.doubleString(x)); text.setAttributeNS(null, SVG_Y_ATTRIBUTE, generatorCtx.doubleString(y)); + text.setAttributeNS(XML_NAMESPACE_URI, XML_SPACE_ATTRIBUTE, + XML_PRESERVE_VALUE); Font baseFont = getFont(); Paint basePaint = getPaint(); Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/WMFConstants.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/WMFConstants.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/WMFConstants.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/WMFConstants.java Sat Sep 9 06:37:36 2006 @@ -100,29 +100,29 @@ public static final int META_CREATEBRUSHINDIRECT = 0x02FC; public static final int META_CREATEREGION = 0x06FF; public static final int META_POLYBEZIER16 = 0x1000; - public static final int META_CREATEBRUSH = 0x00F8; - public static final int META_CREATEBITMAPINDIRECT = 0x02FD; - public static final int META_CREATEBITMAP = 0x06FE; + public static final int META_CREATEBRUSH = 0x00F8; + public static final int META_CREATEBITMAPINDIRECT = 0x02FD; + public static final int META_CREATEBITMAP = 0x06FE; - public static final int META_OBJ_WHITE_BRUSH = 0; - public static final int META_OBJ_LTGRAY_BRUSH = 1; - public static final int META_OBJ_GRAY_BRUSH = 2; - public static final int META_OBJ_DKGRAY_BRUSH = 3; - public static final int META_OBJ_BLACK_BRUSH = 4; - public static final int META_OBJ_NULL_BRUSH = 5; - public static final int META_OBJ_HOLLOW_BRUSH = 5; - public static final int META_OBJ_WHITE_PEN = 6; - public static final int META_OBJ_BLACK_PEN = 7; - public static final int META_OBJ_NULL_PEN = 8; - public static final int META_OBJ_OEM_FIXED_FONT = 10; - public static final int META_OBJ_ANSI_FIXED_FONT = 11; - public static final int META_OBJ_ANSI_VAR_FONT = 12; - public static final int META_OBJ_SYSTEM_FONT = 13; + public static final int META_OBJ_WHITE_BRUSH = 0; + public static final int META_OBJ_LTGRAY_BRUSH = 1; + public static final int META_OBJ_GRAY_BRUSH = 2; + public static final int META_OBJ_DKGRAY_BRUSH = 3; + public static final int META_OBJ_BLACK_BRUSH = 4; + public static final int META_OBJ_NULL_BRUSH = 5; + public static final int META_OBJ_HOLLOW_BRUSH = 5; + public static final int META_OBJ_WHITE_PEN = 6; + public static final int META_OBJ_BLACK_PEN = 7; + public static final int META_OBJ_NULL_PEN = 8; + public static final int META_OBJ_OEM_FIXED_FONT = 10; + public static final int META_OBJ_ANSI_FIXED_FONT = 11; + public static final int META_OBJ_ANSI_VAR_FONT = 12; + public static final int META_OBJ_SYSTEM_FONT = 13; public static final int META_OBJ_DEVICE_DEFAULT_FONT = 14; - public static final int META_OBJ_DEFAULT_PALETTE = 15; - public static final int META_OBJ_SYSTEM_FIXED_FONT = 16; + public static final int META_OBJ_DEFAULT_PALETTE = 15; + public static final int META_OBJ_SYSTEM_FIXED_FONT = 16; -/* New StretchBlt() Modes */ + /* New StretchBlt() Modes */ public static final int STRETCH_BLACKONWHITE = 1; public static final int STRETCH_WHITEONBLACK = 2; public static final int STRETCH_COLORONCOLOR = 3; Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFPainter.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFPainter.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFPainter.java Sat Sep 9 06:37:36 2006 @@ -37,7 +37,8 @@ public static final String WMF_FILE_EXTENSION = ".wmf"; protected WMFFont wmfFont = null; - protected int currentAlign = 0; + protected int currentHorizAlign = 0; + protected int currentVertAlign = 0; public static final int PEN = 1; public static final int BRUSH = 2; @@ -60,9 +61,7 @@ * @return the Image associated with the bitmap (null if the dimensions detected in the * header are not consistent with the assumed dimensions) */ - protected BufferedImage getImage(byte[] bit, int width, int height) { - BufferedImage img = new BufferedImage(width, height, BufferedImage.TYPE_INT_RGB); - WritableRaster raster = img.getRaster(); + protected BufferedImage getImage(byte[] bit, int width, int height) { // get the header of the bitmap, first the width and height int _width = (((int)bit[7] & 0x00ff) << 24) | (((int)bit[6] & 0x00ff) << 16) | (((int)bit[5] & 0x00ff) << 8) | (int)bit[4] & 0x00ff; @@ -233,32 +232,6 @@ return ats; } - /** Decode a byte array in a String, considering the last selected charset. - */ - protected String decodeString(byte[] bstr) { - // manage the charset encoding - String str; - try { - if (wmfFont.charset == WMFConstants.META_CHARSET_ANSI) { - str = new String(bstr); - } else if (wmfFont.charset == WMFConstants.META_CHARSET_DEFAULT) { - str = new String(bstr, WMFConstants.CHARSET_DEFAULT); - } else if (wmfFont.charset == WMFConstants.META_CHARSET_GREEK) { - str = new String(bstr, WMFConstants.CHARSET_GREEK); - } else if (wmfFont.charset == WMFConstants.META_CHARSET_RUSSIAN) { - str = new String(bstr, WMFConstants.CHARSET_CYRILLIC); - } else if (wmfFont.charset == WMFConstants.META_CHARSET_HEBREW) { - str = new String(bstr, WMFConstants.CHARSET_HEBREW); - } else if (wmfFont.charset == WMFConstants.META_CHARSET_ARABIC) { - str = new String(bstr, WMFConstants.CHARSET_ARABIC); - } else str = new String(bstr); - } catch (UnsupportedEncodingException e) { - str = new String(bstr); - } - - return str; - } - /** * Sets the WMFRecordStore this WMFPainter should use to render */ @@ -284,4 +257,4 @@ protected int addObjectAt( WMFRecordStore store, int type, Object obj, int idx ) { return currentStore.addObjectAt( type, obj, idx ); } -} \ No newline at end of file +} Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFReader.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFReader.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFReader.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/AbstractWMFReader.java Sat Sep 9 06:37:36 2006 @@ -18,15 +18,12 @@ package org.apache.batik.transcoder.wmf.tosvg; +import java.awt.Rectangle; +import java.awt.Toolkit; +import java.awt.geom.Rectangle2D; import java.io.DataInputStream; import java.io.IOException; -import java.net.URL; import java.util.Vector; -import java.awt.Font; -import java.awt.Toolkit; -import java.awt.Rectangle; -import java.awt.geom.Dimension2D; -import java.awt.geom.Rectangle2D; import org.apache.batik.transcoder.wmf.WMFConstants; @@ -299,7 +296,7 @@ * readShort(is); * break; * </pre> - * @see svglab.encoding.wmf.WMFConstants + * @see WMFConstants */ protected abstract boolean readRecords(DataInputStream is) throws IOException; Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFHeaderProperties.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFHeaderProperties.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFHeaderProperties.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFHeaderProperties.java Sat Sep 9 06:37:36 2006 @@ -1,6 +1,6 @@ /* - Copyright 2005 The Apache Software Foundation + Copyright 2005-2006 The Apache Software Foundation Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -18,31 +18,40 @@ package org.apache.batik.transcoder.wmf.tosvg; -import java.awt.Rectangle; import java.awt.Color; -import java.awt.geom.Rectangle2D; -import java.awt.geom.Point2D; -import java.awt.geom.Dimension2D; +import java.awt.Font; +import java.awt.Rectangle; import java.awt.Shape; -import java.io.File; -import java.io.IOException; +import java.awt.font.FontRenderContext; +import java.awt.font.TextLayout; +import java.awt.geom.AffineTransform; +import java.awt.geom.Rectangle2D; +import java.io.BufferedInputStream; import java.io.DataInputStream; +import java.io.File; import java.io.FileInputStream; -import java.io.BufferedInputStream; -import java.util.ArrayList; +import java.io.IOException; -import org.apache.batik.transcoder.wmf.WMFConstants; import org.apache.batik.ext.awt.geom.Polygon2D; import org.apache.batik.ext.awt.geom.Polyline2D; +import org.apache.batik.transcoder.wmf.WMFConstants; -/** This class holds simple properties about a WMF Metafile. It can be used whenever general - * informations must be retrieved about this file. +/** + * This class holds simple properties about a WMF Metafile. It can be used + * whenever general information must be retrieved about this file. */ public class WMFHeaderProperties extends AbstractWMFReader { protected DataInputStream stream; private int _bleft, _bright, _btop, _bbottom, _bwidth, _bheight; private int _ileft, _iright, _itop, _ibottom; private float scale = 1f; + private int startX = 0; + private int startY = 0; + private int currentHorizAlign = 0; + private int currentVertAlign = 0; + private WMFFont wf = null; + private static final FontRenderContext fontCtx = + new FontRenderContext(new AffineTransform(), false, true); private transient boolean firstEffectivePaint = true; public static final int PEN = 1; public static final int BRUSH = 2; @@ -108,6 +117,8 @@ vpH = -1; vpX = 0; vpY = 0; + startX = 0; + startY = 0; firstEffectivePaint = true; } @@ -126,11 +137,6 @@ int penObject = -1; // the last pen int fontObject = -1; // the last font GdiObject gdiObj; - /* TODO : it is assumed that the previous Font creation before a textout - * corresponds to the next, which can be false - */ - int lfWidth = 0; // for Font width - int lfHeight = 0; // for Font height while (functionId > 0) { recSize = readInt( is ); @@ -192,55 +198,138 @@ } else objIndex = addObjectAt(BRUSH, color, objIndex ); } - break; + break; + + case WMFConstants.META_SETTEXTALIGN: + int align = readShort( is ); + // need to do this, because sometimes there is more than one short + if (recSize > 1) for (int i = 1; i < recSize; i++) readShort( is ); + currentHorizAlign = WMFUtilities.getHorizontalAlignment(align); + currentVertAlign = WMFUtilities.getVerticalAlignment(align); + break; case WMFConstants.META_EXTTEXTOUT: { int y = readShort( is ); int x = readShort( is ); - int lenText = readInt( is ); - int len = 2*(recSize-4); - for (int i = 0 ; i < len; i++ ) is.readByte(); + int lenText = readShort( is ); + int flag = readShort( is ); + int read = 4; // used to track the actual size really read + boolean clipped = false; + int x1 = 0, y1 = 0, x2 = 0, y2 = 0; + int len; + // determination of clipping property + if ((flag & WMFConstants.ETO_CLIPPED) != 0) { + x1 = readShort( is ); + y1 = readShort( is ); + x2 = readShort( is ); + y2 = readShort( is ); + read += 4; + clipped = true; + } + byte bstr[] = new byte[ lenText ]; + int i = 0; + for ( ; i < lenText; i++ ) { + bstr[ i ] = is.readByte(); + } + String sr = WMFUtilities.decodeString(wf, bstr); + + read += (lenText + 1)/2; + /* must do this because WMF strings always have an even number of bytes, even + * if there is an odd number of characters + */ + if (lenText % 2 != 0) is.readByte(); + // if the record was not completely read, finish reading + if (read < recSize) for (int j = read; j < recSize; j++) readShort( is ); + TextLayout layout = new TextLayout( sr, wf.font, fontCtx ); + + int lfWidth = (int)layout.getBounds().getWidth(); + x = (int)layout.getBounds().getX(); + int lfHeight = + (int)getVerticalAlignmentValue(layout, currentVertAlign); + resizeBounds(x, y); - resizeBounds(x+lfWidth*lenText, y+lfHeight); + resizeBounds(x+lfWidth, y+lfHeight); firstEffectivePaint = false; } break; - + + case WMFConstants.META_DRAWTEXT: case WMFConstants.META_TEXTOUT: { int len = readShort( is ); - for ( int i = 0; i < len; i++ ) is.readByte(); - if (len % 2 != 0) is.readByte(); + int read = 1; // used to track the actual size really read + byte bstr[] = new byte[ len ]; + for ( int i = 0; i < len; i++ ) { + bstr[ i ] = is.readByte(); + } + String sr = WMFUtilities.decodeString(wf, bstr); + + /* must do this because WMF strings always have an even number of bytes, even + * if there is an odd number of characters + */ + if (len % 2 != 0) is.readByte(); + read += (len + 1) / 2; + int y = readShort( is ); int x = readShort( is ); + read += 2; + // if the record was not completely read, finish reading + if (read < recSize) for (int j = read; j < recSize; j++) readShort( is ); + TextLayout layout = new TextLayout( sr, wf.font, fontCtx ); + int lfWidth = (int)layout.getBounds().getWidth(); + x = (int)layout.getBounds().getX(); + int lfHeight = + (int)getVerticalAlignmentValue(layout, currentVertAlign); + resizeBounds(x, y); - resizeBounds(x+lfWidth*len, y+lfHeight); + resizeBounds(x+lfWidth, y+lfHeight); } break; - case WMFConstants.META_CREATEFONTINDIRECT: { - // TODO : handle object creation for fonts, because font use can - // be done in a different order than font creation - int objIndex = 0; - lfHeight = readShort( is ); - lfWidth = readShort( is ); - readShort( is ); - readShort( is ); - readShort( is ); - - is.readByte(); - is.readByte(); - is.readByte(); - is.readByte(); - is.readByte(); - is.readByte(); - is.readByte(); - is.readByte(); + int lfHeight = readShort( is ); + float size = (int)(scaleY * lfHeight); + int lfWidth = readShort( is ); + int escape = (int)readShort( is ); + int orient = (int)readShort( is ); + int weight = (int)readShort( is ); + + int italic = (int)is.readByte(); + int underline = (int)is.readByte(); + int strikeOut = (int)is.readByte(); + int charset = (int)(is.readByte() & 0x00ff); + int lfOutPrecision = is.readByte(); + int lfClipPrecision = is.readByte(); + int lfQuality = is.readByte(); + int lfPitchAndFamily = is.readByte(); + + int style = italic > 0 ? Font.ITALIC : Font.PLAIN; + style |= (weight > 400) ? Font.BOLD : Font.PLAIN; + // don't need to read the end of the record, + // because it will always be completely used int len = (2*(recSize-9)); - for ( int i = 0; i < len; i++ ) is.readByte(); - - objIndex = addObjectAt( FONT, new Boolean(true) , objIndex ); + byte lfFaceName[] = new byte[ len ]; + byte ch; + for ( int i = 0; i < len; i++ ) lfFaceName[ i ] = is.readByte(); + String face = new String( lfFaceName ); + + // FIXED : management of font names + int d = 0; + while ((d < face.length()) && + ((Character.isLetterOrDigit(face.charAt(d))) || + (Character.isWhitespace(face.charAt(d))))) d++; + if (d > 0) face = face.substring(0,d); + else face = "System"; + + if ( size < 0 ) size = -size /* * -1.3 */; + int objIndex = 0; + + Font f = new Font(face, style, (int)size); + f = f.deriveFont(size); + WMFFont wf = new WMFFont(f, charset, underline, + strikeOut, italic, weight, orient, escape); + + objIndex = addObjectAt( FONT, wf , objIndex ); } break; @@ -274,6 +363,7 @@ brushObject = gdiIndex; break; case FONT: { + this.wf = ((WMFFont)gdiObj.obj); fontObject = gdiIndex; } break; @@ -295,12 +385,21 @@ gdiObj.clear(); break; - case WMFConstants.META_LINETO: - case WMFConstants.META_MOVETO: { + case WMFConstants.META_LINETO: { int y = readShort( is ); int x = readShort( is ); - if (penObject >= 0) resizeBounds(x, y); - firstEffectivePaint = false; + if (penObject >= 0) { + resizeBounds(startX, startY); + resizeBounds(x, y); + firstEffectivePaint = false; + } + startX = x; + startY = y; + } + break; + case WMFConstants.META_MOVETO: { + startY = readShort( is ); + startX = readShort( is ); } break; @@ -362,7 +461,7 @@ int right = readShort( is ); int top = readShort( is ); int left = readShort( is ); - Rectangle2D.Float rec = new Rectangle2D.Float(left, top, right-left, bottom-top); + Rectangle2D.Float rec = new Rectangle2D.Float(left, top, right-left, bot-top); paint(brushObject, penObject, rec); } break; @@ -374,7 +473,7 @@ int right = readShort( is ); int top = readShort( is ); int left = readShort( is ); - Rectangle2D.Float rec = new Rectangle2D.Float(left, top, right-left, bottom-top); + Rectangle2D.Float rec = new Rectangle2D.Float(left, top, right-left, bot-top); paint(brushObject, penObject, rec); } break; @@ -390,7 +489,7 @@ int right = readShort( is ); int top = readShort( is ); int left = readShort( is ); - Rectangle2D.Float rec = new Rectangle2D.Float(left, top, right-left, bottom-top); + Rectangle2D.Float rec = new Rectangle2D.Float(left, top, right-left, bot-top); paint(brushObject, penObject, rec); } break; @@ -511,38 +610,30 @@ * width and height of the Metafile are kept. */ private void resizeBounds(int x, int y) { - if ((x < right) && (x > left)) { - if (_bleft == -1) _bleft = x; - else if (x < _bleft) _bleft = x; - if (_bright == -1) _bright = x; - else if (x > _bright) _bright = x; - } - - if ((y < bottom) && (y > top)) { - if (_btop == -1) _btop = y; - else if (y < _btop) _btop = y; - if (_bbottom == -1) _bbottom = y; - else if (y > _bbottom) _bbottom = y; - } + if (_bleft == -1) _bleft = x; + else if (x < _bleft) _bleft = x; + if (_bright == -1) _bright = x; + else if (x > _bright) _bright = x; + + if (_btop == -1) _btop = y; + else if (y < _btop) _btop = y; + if (_bbottom == -1) _bbottom = y; + else if (y > _bbottom) _bbottom = y; } /** resize Bounds for each image primitive encountered. Only elements that are in the overall * width and height of the Metafile are kept. */ private void resizeImageBounds(int x, int y) { - if ((x < right) && (x > left)) { - if (_ileft == -1) _ileft = x; - else if (x < _ileft) _ileft = x; - if (_iright == -1) _iright = x; - else if (x > _iright) _iright = x; - } - - if ((y < bottom) && (y > top)) { - if (_itop == -1) _itop = y; - else if (y < _itop) _itop = y; - if (_ibottom == -1) _ibottom = y; - else if (y > _ibottom) _ibottom = y; - } + if (_ileft == -1) _ileft = x; + else if (x < _ileft) _ileft = x; + if (_iright == -1) _iright = x; + else if (x > _iright) _iright = x; + + if (_itop == -1) _itop = y; + else if (y < _itop) _itop = y; + if (_ibottom == -1) _ibottom = y; + else if (y > _ibottom) _ibottom = y; } /** get the Color corresponding with the Object (pen or brush object). @@ -597,5 +688,13 @@ firstEffectivePaint = false; } } + } + + /** get the vertical Alignment value for the text. + */ + private float getVerticalAlignmentValue(TextLayout layout, int vertAlign) { + if (vertAlign == WMFConstants.TA_BASELINE) return -layout.getAscent(); + else if (vertAlign == WMFConstants.TA_TOP) return (layout.getAscent() + layout.getDescent()); + else return 0; } } Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFPainter.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFPainter.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFPainter.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFPainter.java Sat Sep 9 06:37:36 2006 @@ -19,41 +19,39 @@ package org.apache.batik.transcoder.wmf.tosvg; import java.awt.BasicStroke; -import java.awt.Stroke; import java.awt.Color; -import java.awt.Font; -import java.awt.Paint; -import java.awt.Image; import java.awt.Dimension; -import java.awt.TexturePaint; +import java.awt.Font; import java.awt.Graphics; import java.awt.Graphics2D; -import java.awt.Polygon; +import java.awt.Image; +import java.awt.Paint; import java.awt.Shape; +import java.awt.Stroke; +import java.awt.TexturePaint; import java.awt.Toolkit; -import java.awt.image.BufferedImage; -import java.awt.image.ImageObserver; import java.awt.font.FontRenderContext; import java.awt.font.TextLayout; -import java.awt.font.TextAttribute; import java.awt.geom.AffineTransform; -import java.awt.geom.GeneralPath; -import java.awt.geom.Point2D; import java.awt.geom.Arc2D; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; import java.awt.geom.Line2D; +import java.awt.geom.Point2D; import java.awt.geom.Rectangle2D; import java.awt.geom.RoundRectangle2D; -import java.awt.geom.Ellipse2D; -import java.text.AttributedString; -import java.text.AttributedCharacterIterator; +import java.awt.image.BufferedImage; +import java.awt.image.ImageObserver; import java.io.BufferedInputStream; +import java.text.AttributedCharacterIterator; +import java.util.Iterator; import java.util.Stack; import java.util.Vector; -import java.util.Iterator; -import org.apache.batik.transcoder.wmf.WMFConstants; import org.apache.batik.ext.awt.geom.Polygon2D; import org.apache.batik.ext.awt.geom.Polyline2D; +import org.apache.batik.transcoder.wmf.WMFConstants; + /** * Core class for rendering the WMF image. It is able to render a * WMF file in a <tt>Graphics</tt> object. @@ -524,9 +522,11 @@ break; case WMFConstants.META_SETTEXTALIGN: - currentAlign = - getHorizontalAlignement((int)mr.ElementAt( 0 ).intValue()); - break; + currentHorizAlign = + WMFUtilities.getHorizontalAlignment((int)mr.ElementAt( 0 ).intValue()); + currentVertAlign = + WMFUtilities.getVerticalAlignment((int)mr.ElementAt( 0 ).intValue()); + break; case WMFConstants.META_SETTEXTCOLOR: frgdColor = new Color( (int)mr.ElementAt( 0 ).intValue(), @@ -546,7 +546,7 @@ try { float x, y; byte[] bstr = ((MetaRecord.ByteRecord)mr).bstr; - String sr = decodeString(bstr); + String sr = WMFUtilities.decodeString(wmfFont, bstr); x = scaleX * ( vpX + (float)(xOffset + mr.ElementAt( 0 ).intValue())); y = scaleY * ( vpY + (float)(yOffset + mr.ElementAt( 1 ).intValue())); @@ -558,7 +558,6 @@ Point2D.Double pen = new Point2D.Double( 0, 0 ); GeneralPath gp = new GeneralPath( GeneralPath.WIND_NON_ZERO ); TextLayout layout = new TextLayout( sr, g2d.getFont(), frc ); - pen.y += layout.getAscent(); int flag = mr.ElementAt( 2 ).intValue(); int x1 = 0, y1 = 0, x2 = 0, y2 = 0; @@ -576,9 +575,11 @@ } firstEffectivePaint = false; + y += getVerticalAlignmentValue(layout, currentVertAlign); + drawString(flag, g2d, - getCharacterIterator(g2d, sr, wmfFont, currentAlign), x, y, layout, - wmfFont, currentAlign); + getCharacterIterator(g2d, sr, wmfFont, currentHorizAlign), + x, y, layout, wmfFont, currentHorizAlign); if (clipped) g2d.setClip(clip); } catch ( Exception e ) { } @@ -589,7 +590,7 @@ try { float x, y; byte[] bstr = ((MetaRecord.ByteRecord)mr).bstr; - String sr = decodeString(bstr); + String sr = WMFUtilities.decodeString(wmfFont, bstr); x = scaleX * ( vpX + (float)(xOffset + mr.ElementAt( 0 ).intValue())); y = scaleY * ( vpY + (float)(yOffset + mr.ElementAt( 1 ).intValue())); @@ -602,12 +603,12 @@ GeneralPath gp = new GeneralPath( GeneralPath.WIND_NON_ZERO ); TextLayout layout = new TextLayout( sr, g2d.getFont(), frc ); - pen.y += layout.getAscent(); - firstEffectivePaint = false; + firstEffectivePaint = false; + y += getVerticalAlignmentValue(layout, currentVertAlign); drawString(-1, g2d, getCharacterIterator(g2d, sr, wmfFont), - x, y, layout, wmfFont, currentAlign); + x, y, layout, wmfFont, currentHorizAlign); } catch ( Exception e ) { } break; @@ -1093,6 +1094,12 @@ firstEffectivePaint = false; } } + } + + private float getVerticalAlignmentValue(TextLayout layout, int vertAlign) { + if (vertAlign == WMFConstants.TA_BOTTOM) return -layout.getDescent(); + else if (vertAlign == WMFConstants.TA_TOP) return layout.getAscent(); + else return 0; } /** Modified: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFTranscoder.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFTranscoder.java?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFTranscoder.java (original) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFTranscoder.java Sat Sep 9 06:37:36 2006 @@ -19,40 +19,23 @@ package org.apache.batik.transcoder.wmf.tosvg; import java.awt.Dimension; -import java.awt.BasicStroke; -import java.awt.geom.Rectangle2D; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; -import java.io.OutputStreamWriter; -import java.io.Writer; import java.net.MalformedURLException; import java.net.URL; -import java.net.URLConnection; -import org.w3c.dom.svg.SVGDocument; -import org.apache.batik.transcoder.TranscodingHints; -import org.apache.batik.transcoder.keys.*; -import org.apache.batik.dom.svg.SVGDOMImplementation; -import org.apache.batik.transcoder.AbstractTranscoder; +import org.apache.batik.svggen.SVGGraphics2D; +import org.apache.batik.transcoder.ToSVGAbstractTranscoder; import org.apache.batik.transcoder.TranscoderException; import org.apache.batik.transcoder.TranscoderInput; import org.apache.batik.transcoder.TranscoderOutput; -import org.apache.batik.util.SVGConstants; -import org.w3c.dom.DOMImplementation; + import org.w3c.dom.Document; import org.w3c.dom.Element; -import org.xml.sax.XMLFilter; -import org.apache.batik.svggen.SVGGraphics2D; -import org.apache.batik.util.SVGConstants; -import org.apache.batik.transcoder.ToSVGAbstractTranscoder; - -import org.w3c.dom.Node; -import org.w3c.dom.DocumentFragment; /** This class implements the <tt>Transcoder</tt> interface and * can convert a WMF input document into an SVG document. Added: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFUtilities.java URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFUtilities.java?view=auto&rev=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFUtilities.java (added) +++ xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFUtilities.java Sat Sep 9 06:37:36 2006 @@ -0,0 +1,77 @@ +/* + + Copyright 2006 The Apache Software Foundation + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. + + */ + +package org.apache.batik.transcoder.wmf.tosvg; + +import java.awt.font.TextLayout; +import java.io.UnsupportedEncodingException; +import org.apache.batik.transcoder.wmf.WMFConstants; + +/** This class holds various utilies for importing WMF files that can be used either for + * {@link org.apache.batik.transcoder.wmf.tosvg.AbstractWMFReader}s and + * {@link org.apache.batik.transcoder.wmf.tosvg.AbstractWMFPainter}s + */ +public class WMFUtilities { + /** Decode a byte array in a String, considering the last selected charset. + */ + public static String decodeString(WMFFont wmfFont, byte[] bstr) { + // manage the charset encoding + String str; + try { + if (wmfFont.charset == WMFConstants.META_CHARSET_ANSI) { + str = new String(bstr); + } else if (wmfFont.charset == WMFConstants.META_CHARSET_DEFAULT) { + str = new String(bstr, WMFConstants.CHARSET_DEFAULT); + } else if (wmfFont.charset == WMFConstants.META_CHARSET_GREEK) { + str = new String(bstr, WMFConstants.CHARSET_GREEK); + } else if (wmfFont.charset == WMFConstants.META_CHARSET_RUSSIAN) { + str = new String(bstr, WMFConstants.CHARSET_CYRILLIC); + } else if (wmfFont.charset == WMFConstants.META_CHARSET_HEBREW) { + str = new String(bstr, WMFConstants.CHARSET_HEBREW); + } else if (wmfFont.charset == WMFConstants.META_CHARSET_ARABIC) { + str = new String(bstr, WMFConstants.CHARSET_ARABIC); + } else str = new String(bstr); + } catch (UnsupportedEncodingException e) { + str = new String(bstr); + } + + return str; + } + + /** Get the Horizontal Alignement for the Alignment property. + */ + public static int getHorizontalAlignment(int align) { + int v = align; + v = v % WMFConstants.TA_BASELINE; // skip baseline alignment (24) + v = v % WMFConstants.TA_BOTTOM; // skip bottom aligment (8) + if (v >= 6) return WMFConstants.TA_CENTER; + else if (v >= 2) return WMFConstants.TA_RIGHT; + else return WMFConstants.TA_LEFT; + } + + /** Get the Vertical Alignement for the Alignment property. + */ + public static int getVerticalAlignment(int align) { + int v = align; + if ((v/WMFConstants.TA_BASELINE) != 0) return WMFConstants.TA_BASELINE; + v = v % WMFConstants.TA_BASELINE; // skip baseline alignment (24) + if ((v/WMFConstants.TA_BOTTOM) != 0) return WMFConstants.TA_BOTTOM; + else return WMFConstants.TA_TOP; + } +} + Propchange: xmlgraphics/batik/branches/svg11/sources/org/apache/batik/transcoder/wmf/tosvg/WMFUtilities.java ------------------------------------------------------------------------------ svn:eol-style = native Modified: xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/AttributedCharacterIterator.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/AttributedCharacterIterator.svg?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/AttributedCharacterIterator.svg (original) +++ xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/AttributedCharacterIterator.svg Sat Sep 9 06:37:36 2006 @@ -5,7 +5,7 @@ ><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" /><g ><g fill="maroon" font-size="15" font-weight="bold" stroke="maroon" - ><text x="10" y="100" stroke="none" + ><text xml:space="preserve" x="10" y="100" stroke="none" ><tspan >Attributed</tspan ><tspan fill="black" font-weight="normal" Modified: xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/ContextAttributedCharacterIterator.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/ContextAttributedCharacterIterator.svg?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/ContextAttributedCharacterIterator.svg (original) +++ xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/svggen/ContextAttributedCharacterIterator.svg Sat Sep 9 06:37:36 2006 @@ -61,7 +61,7 @@ /></font ></defs ><g class="testC1" - ><text x="10" y="100" class="testC2" + ><text xml:space="preserve" x="10" y="100" class="testC2" ><tspan class="testC3" >Attributed</tspan ><tspan class="testC4" Modified: xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/black_shapes.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/black_shapes.svg?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/black_shapes.svg (original) +++ xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/black_shapes.svg Sat Sep 9 06:37:36 2006 @@ -13,13 +13,13 @@ /><rect x="240" y="432" fill="black" width="483.8333" height="173.5" stroke="none" /></g ><g stroke-linecap="butt" fill="aqua" font-family="&apos;monospaced&apos;" stroke-linejoin="round" stroke="aqua" stroke-width="0.6667" - ><text x="678.3334" y="491.5" stroke="none" + ><text xml:space="preserve" x="678.3334" y="491.5" stroke="none" >20</text - ><text fill="rgb(255,102,255)" x="624" font-size="10" y="522.5" stroke="none" + ><text x="624" font-size="10" y="522.5" fill="rgb(255,102,255)" stroke="none" xml:space="preserve" >SHTZ</text - ><text fill="rgb(255,102,255)" x="655.6667" font-size="10" y="522.5" stroke="none" + ><text x="655.6667" font-size="10" y="522.5" fill="rgb(255,102,255)" stroke="none" xml:space="preserve" >1500 </text - ><text fill="rgb(255,102,255)" x="687.3334" font-size="10" y="522.5" stroke="none" + ><text x="687.3334" font-size="10" y="522.5" fill="rgb(255,102,255)" stroke="none" xml:space="preserve" >FT</text ><path fill="lime" d="M520 473.5 L524.8334 473.8333 L527.1667 474 L527.6667 471.1667 L524.8334 470.8333 L520 470.5 L515.1667 470.8333 L510.3333 471.5 L509.8333 471.5 L507.8333 472.1667 L508.5 475 L511 474.3333 L510.3333 473 L510.3333 474.5 L515.1667 473.8333 Z" stroke="none" /><path fill="lime" d="M500.3333 477.8333 L499 475.1667 L496.5 476.3333 L492.6667 478.8333 L492.1667 479.1667 L488.6667 481.8333 L490.5 484.1667 L494.3333 481.3333 L493.1667 480.1667 L493.8333 481.6667 L497.6667 479.1667 Z" stroke="none" Modified: xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/testChart.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/testChart.svg?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/testChart.svg (original) +++ xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/testChart.svg Sat Sep 9 06:37:36 2006 @@ -66,29 +66,29 @@ /><rect fill="none" width="451.9937" x="549.2787" height="156.6992" y="580.989" /><rect fill="none" width="454.3748" x="549.2787" height="154.3181" y="174.7654" /><rect fill="none" width="454.3748" x="47.2441" height="153.1086" y="178.3181" - /><text x="33.0315" font-size="63" y="84.1701" text-decoration="underline" stroke="none" font-weight="bold" + /><text font-size="63" x="33.0315" y="84.1701" text-decoration="underline" stroke="none" font-weight="bold" xml:space="preserve" >Metafile Companion Test Chart</text ></g ><g font-size="26" stroke-linecap="butt" transform="translate(70.1858,185.4992)" fill="white" stroke-linejoin="round" stroke="white" font-weight="bold" stroke-width="1.5118" ><rect width="100" x="0" height="25" y="-19" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="70.1858" y="185.4992" stroke="none" + ><text xml:space="preserve" x="70.1858" y="185.4992" stroke="none" >Objects</text ><rect x="0" y="-19" transform="translate(573.4677,185.4992)" fill="white" width="86" height="20" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="573.4677" y="185.4992" stroke="none" + ><text xml:space="preserve" x="573.4677" y="185.4992" stroke="none" >Colors</text ><rect x="-1" y="-19" transform="translate(573.4677,591.7606)" fill="white" width="130" height="20" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="573.4677" y="591.7606" stroke="none" + ><text xml:space="preserve" x="573.4677" y="591.7606" stroke="none" >Advanced</text ><rect x="1" y="-19" transform="translate(72.7559,591.6094)" fill="white" width="54" height="20" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="72.7559" y="591.6094" stroke="none" + ><text xml:space="preserve" x="72.7559" y="591.6094" stroke="none" >Fills</text ><line fill="none" x1="70.1102" x2="112.8945" y1="278.9291" y2="230.8535" stroke-width="0.7559" /><rect x="200.8063" y="235.011" fill="none" width="42.1417" height="39.7607" stroke-width="0.7559" @@ -98,14 +98,14 @@ ><rect width="88" x="2" height="20" y="-19" stroke="none" /></g ><g font-size="26" transform="matrix(0.9397,-0.342,0.342,0.9397,-216.0685,358.3464)" stroke-linejoin="round" stroke-linecap="butt" - ><text x="945.7512" y="662.0977" stroke="none" + ><text xml:space="preserve" x="945.7512" y="662.0977" stroke="none" >Rotated</text ></g ><g font-size="26" stroke-linecap="butt" transform="translate(433.1717,263.3575)" fill="white" stroke-linejoin="round" stroke="white" stroke-width="0.7559" ><rect width="51" x="0" height="20" y="-19" stroke="none" /></g ><g font-size="26" stroke-width="0.7559" stroke-linecap="butt" stroke-linejoin="round" - ><text x="433.1717" y="263.3575" stroke="none" + ><text xml:space="preserve" x="433.1717" y="263.3575" stroke="none" >Text</text ><path fill="silver" stroke-width="0.0378" d="M792.6047 679.7858 L830.4 625.3607 L866.6835 679.7858 ZM806.3622 673.5874 L829.6441 638.9669 L852.6236 673.5874 ZM818.3055 665.5748 L828.8882 649.852 L839.3197 665.5748 Z" fill-rule="evenodd" stroke="none" /><path fill="none" d="M792.6047 679.7858 L830.4 625.3607 L866.6835 679.7858 Z" stroke-width="0.0378" @@ -163,49 +163,49 @@ ><rect width="70" x="1" height="20" y="-19" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="74.1165" y="386.5701" stroke="none" + ><text xml:space="preserve" x="74.1165" y="386.5701" stroke="none" >Lines</text ><rect fill="none" width="451.9937" x="549.2787" height="156.6614" y="376.7055" /><rect x="1" y="-19" transform="translate(574.8284,387.9307)" fill="white" width="73" height="20" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="574.8284" y="387.9307" stroke="none" + ><text xml:space="preserve" x="574.8284" y="387.9307" stroke="none" >Fonts</text ><rect x="1" y="-19" transform="translate(820.0441,434.3433)" fill="white" width="59" height="20" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-weight="bold" stroke-linecap="butt" stroke-linejoin="round" - ><text x="820.0441" y="434.3433" stroke="none" + ><text xml:space="preserve" x="820.0441" y="434.3433" stroke="none" >Bold</text ></g ><g font-size="26" stroke-linecap="butt" transform="translate(822.6142,499.3512)" fill="white" font-family="&apos;Courier New&apos;" stroke-linejoin="round" stroke="white" stroke-width="1.5118" ><rect width="138" x="1" height="18" y="-17" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-family="&apos;Courier New&apos;" stroke-linecap="butt" stroke-linejoin="round" - ><text x="822.6142" y="499.3512" text-decoration="underline" stroke="none" + ><text xml:space="preserve" x="822.6142" y="499.3512" text-decoration="underline" stroke="none" >Underline</text ></g ><g font-size="26" stroke-linecap="butt" transform="translate(821.2535,465.4866)" fill="white" font-family="&apos;Times New Roman&apos;" stroke-linejoin="round" font-style="italic" stroke="white" stroke-width="1.5118" ><rect width="58" x="-1" height="20" y="-19" stroke="none" /></g ><g font-size="26" stroke-linecap="butt" font-family="&apos;Times New Roman&apos;" stroke-linejoin="round" font-style="italic" stroke-width="1.5118" - ><text x="821.2535" y="465.4866" stroke="none" + ><text xml:space="preserve" x="821.2535" y="465.4866" stroke="none" >Italic</text ></g ><g font-size="26" stroke-linecap="butt" transform="translate(574.6772,433.1339)" fill="white" stroke-linejoin="round" stroke="white" stroke-width="1.5118" ><rect width="52" x="-1" height="20" y="-19" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" stroke-linecap="butt" stroke-linejoin="round" - ><text x="574.6772" y="433.1339" stroke="none" + ><text xml:space="preserve" x="574.6772" y="433.1339" stroke="none" >Arial</text ><rect x="0" y="-19" transform="translate(573.3165,465.4866)" fill="white" width="203" height="20" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-family="&apos;Times New Roman&apos;" stroke-linecap="butt" stroke-linejoin="round" - ><text x="573.3165" y="465.4866" stroke="none" + ><text xml:space="preserve" x="573.3165" y="465.4866" stroke="none" >Times New Roman</text ><rect x="1" y="-17" transform="translate(574.6772,499.3512)" fill="white" width="170" height="18" stroke="none" /></g ><g font-size="26" stroke-width="1.5118" font-family="&apos;Courier New&apos;" stroke-linecap="butt" stroke-linejoin="round" - ><text x="574.6772" y="499.3512" stroke="none" + ><text xml:space="preserve" x="574.6772" y="499.3512" stroke="none" >Courier New</text ><rect x="579.9685" y="628.2331" fill="url(#pattern9)" width="45.6945" height="45.6567" stroke="none" stroke-width="0.0378" /><rect x="579.9685" y="628.2331" fill="none" width="45.6945" height="45.6567" stroke-width="0.0378" @@ -215,27 +215,27 @@ /><rect x="656.7685" y="634.1292" fill="none" width="48.0378" height="45.6945" stroke-width="0.0378" /><rect x="714.6331" y="634.1292" fill="url(#pattern10)" width="44.485" height="45.6945" stroke="none" stroke-width="0.0378" /><rect x="714.6331" y="634.1292" fill="none" width="44.485" height="45.6945" stroke-width="0.0378" - /><text font-size="15" x="933.7166" y="721.9653" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + /><text font-size="15" x="933.7166" y="721.9653" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Text</text - ><text font-size="15" x="921.7976" y="705.1843" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="921.7976" y="705.1843" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Rotated</text - ><text font-size="15" x="565.9843" y="705.9401" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="565.9843" y="705.9401" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Background</text - ><text font-size="15" x="585.1843" y="722.7213" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="585.1843" y="722.7213" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Color</text - ><text font-size="15" x="801.6756" y="706.3937" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="801.6756" y="706.3937" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Complex</text - ><text font-size="15" x="807.1181" y="723.1748" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="807.1181" y="723.1748" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Polygon</text - ><text font-size="15" x="664.8567" y="705.9401" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="664.8567" y="705.9401" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Transparency</text - ><text font-size="15" x="98.4945" y="502.2236" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="98.4945" y="502.2236" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Patterns</text - ><text font-size="15" x="248.2772" y="503.4331" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="248.2772" y="503.4331" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Thickness</text - ><text font-size="15" x="345.9126" y="725.7071" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="345.9126" y="725.7071" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Bitmap Fill Patterns</text - ><text font-size="15" x="130.6882" y="725.4047" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" + ><text font-size="15" x="130.6882" y="725.4047" font-family="&apos;Times New Roman&apos;" stroke="none" stroke-width="0.0378" xml:space="preserve" >Basic Fill Patterns</text ></g ><g font-size="15" stroke-linecap="butt" fill="url(#pattern11)" font-family="&apos;Times New Roman&apos;" stroke-linejoin="round" stroke="url(#pattern11)" stroke-width="0.0378" Modified: xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/textGreek.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/textGreek.svg?view=diff&rev=441788&r1=441787&r2=441788 ============================================================================== --- xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/textGreek.svg (original) +++ xmlgraphics/batik/branches/svg11/test-references/org/apache/batik/transcoder/wmf/textGreek.svg Sat Sep 9 06:37:36 2006 @@ -8,7 +8,7 @@ ><rect width="960" x="0" height="720" y="0" stroke="none" /></g ><g font-size="32" stroke-width="0.1667" font-family="&apos;Courier New&apos;" stroke-linecap="butt" stroke-linejoin="round" - ><text x="224" y="248" stroke="none" + ><text xml:space="preserve" x="224" y="248" stroke="none" >α</text ></g ></g From batik-commits-return-435jacobsonlaura@example.net Sun Sep 10 11:42:32 2006 Return-Path: <batik-commits-return-435jacobsonlaura@example.net> Delivered-To: jacobsonlaura@example.net Received: (qmail 81798 invoked from network); 10 Sep 2006 11:42:31 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (83.161.120.155) by minotaur.apache.org with SMTP; 10 Sep 2006 11:42:31 -0000 Received: (qmail 7317 invoked by uid 500); 10 Sep 2006 11:42:29 -0000 Delivered-To: jacobsonlaura@example.net Received: (qmail 7265 invoked by uid 500); 10 Sep 2006 11:42:29 -0000 Mailing-List: contact jacobsonlaura@example.net; run by ezmlm Precedence: bulk List-Help: <mailto:jacobsonlaura@example.net> List-Unsubscribe: <mailto:jacobsonlaura@example.net> List-Post: <mailto:jacobsonlaura@example.net> List-Id: <batik-commits.xmlgraphics.apache.org> Reply-To: jacobsonlaura@example.net Delivered-To: mailing list jacobsonlaura@example.net Received: (qmail 7221 invoked by uid 99); 10 Sep 2006 11:42:29 -0000 Received: from asf.osuosl.org (HELO asf.osuosl.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 10 Sep 2006 04:42:29 -0700 X-ASF-Spam-Status: No, hits=-9.4 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received-SPF: pass (asf.osuosl.org: local policy) Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 10 Sep 2006 04:42:22 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 807B81A981D; Sun, 10 Sep 2006 04:42:02 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r441943 [2/5] - in /xmlgraphics/batik/trunk: sources/org/apache/batik/svggen/ sources/org/apache/batik/transcoder/wmf/tosvg/ test-references/org/apache/batik/svggen/ test-references/org/apache/batik/transcoder/wmf/ test-resources/org/apache... Date: Sun, 10 Sep 2006 11:41:59 -0000 To: jacobsonlaura@example.net From: jacobsonlaura@example.net X-Mailer: svnmailer-1.1.0 Message-Id: <jacobsonlaura@example.net> X-Virus-Checked: Checked by ClamAV on apache.org X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N Modified: xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color1.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color1.svg?view=diff&rev=441943&r1=441942&r2=441943 ============================================================================== --- xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color1.svg (original) +++ xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color1.svg Sun Sep 10 04:41:57 2006 @@ -5,200 +5,200 @@ ><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" /><g ><g text-rendering="optimizeLegibility" transform="translate(20,20)" - ><text xml:space="preserve" x="-5" y="0" stroke="none" + ><text x="-5" xml:space="preserve" y="0" stroke="none" >Color Constants</text - ><text xml:space="preserve" x="10" y="3" transform="translate(0,20)" stroke="none" + ><text x="10" xml:space="preserve" y="3" transform="translate(0,20)" stroke="none" >black</text - ><rect x="-5" y="-5" transform="translate(0,20)" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,20)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,40)" stroke="none" + ><rect x="-5" width="10" height="10" y="-5" transform="translate(0,20)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,20)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,40)" stroke="none" >blue</text ><rect x="-5" y="-5" transform="translate(0,40)" fill="blue" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,40)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,60)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,40)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,60)" stroke="none" >cyan</text ><rect x="-5" y="-5" transform="translate(0,60)" fill="aqua" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,60)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,80)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,60)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,80)" stroke="none" >darkGray</text ><rect x="-5" y="-5" transform="translate(0,80)" fill="rgb(64,64,64)" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,80)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,100)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,80)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,100)" stroke="none" >gray</text ><rect x="-5" y="-5" transform="translate(0,100)" fill="gray" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,100)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,120)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,100)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,120)" stroke="none" >green</text ><rect x="-5" y="-5" transform="translate(0,120)" fill="lime" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,120)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,140)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,120)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,140)" stroke="none" >lightGray</text ><rect x="-5" y="-5" transform="translate(0,140)" fill="silver" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,140)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,160)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,140)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,160)" stroke="none" >magenta</text ><rect x="-5" y="-5" transform="translate(0,160)" fill="fuchsia" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,160)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,180)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,160)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,180)" stroke="none" >orange</text ><rect x="-5" y="-5" transform="translate(0,180)" fill="rgb(255,200,0)" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,180)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,200)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,180)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,200)" stroke="none" >pink</text ><rect x="-5" y="-5" transform="translate(0,200)" fill="rgb(255,175,175)" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,200)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,220)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,200)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,220)" stroke="none" >red</text ><rect x="-5" y="-5" transform="translate(0,220)" fill="red" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,220)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,240)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,220)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,240)" stroke="none" >white</text ><rect x="-5" y="-5" transform="translate(0,240)" fill="white" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,240)" fill="none" width="10" height="10" - /><text xml:space="preserve" x="10" y="3" transform="translate(0,260)" stroke="none" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,240)" + /><text x="10" xml:space="preserve" y="3" transform="translate(0,260)" stroke="none" >yellow</text ><rect x="-5" y="-5" transform="translate(0,260)" fill="yellow" width="10" height="10" stroke="none" - /><rect x="-5" y="-5" transform="translate(0,260)" fill="none" width="10" height="10" + /><rect fill="none" x="-5" width="10" height="10" y="-5" transform="translate(0,260)" /></g ><g text-rendering="optimizeLegibility" transform="translate(150,20)" - ><text xml:space="preserve" x="0" y="0" stroke="none" + ><text x="0" xml:space="preserve" y="0" stroke="none" >Various opacities</text ><rect x="0" y="0" transform="translate(0,10)" fill="rgb(80,255,80)" width="40" height="260" stroke="none" /></g ><g font-size="9" transform="translate(150,30)" fill-opacity="0.04705882445" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.04705882445" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,30)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,30)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >12</text ></g ><g font-size="9" transform="translate(150,43)" fill-opacity="0.098039217293" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.098039217293" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,43)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,43)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >25</text ></g ><g font-size="9" transform="translate(150,56)" fill-opacity="0.149019613862" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.149019613862" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,56)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,56)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >38</text ></g ><g font-size="9" transform="translate(150,69)" fill-opacity="0.20000000298" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.20000000298" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,69)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,69)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >51</text ></g ><g font-size="9" transform="translate(150,82)" fill-opacity="0.247058823705" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.247058823705" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,82)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,82)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >63</text ></g ><g font-size="9" transform="translate(150,95)" fill-opacity="0.298039227724" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.298039227724" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,95)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,95)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >76</text ></g ><g font-size="9" transform="translate(150,108)" fill-opacity="0.349019616842" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.349019616842" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,108)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,108)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >89</text ></g ><g font-size="9" transform="translate(150,121)" fill-opacity="0.40000000596" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.40000000596" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,121)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,121)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >102</text ></g ><g font-size="9" transform="translate(150,134)" fill-opacity="0.447058826685" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.447058826685" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,134)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,134)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >114</text ></g ><g font-size="9" transform="translate(150,147)" fill-opacity="0.498039215803" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.498039215803" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,147)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,147)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >127</text ></g ><g font-size="9" transform="translate(150,160)" fill-opacity="0.549019634724" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.549019634724" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,160)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,160)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >140</text ></g ><g font-size="9" transform="translate(150,173)" fill-opacity="0.600000023842" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.600000023842" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,173)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,173)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >153</text ></g ><g font-size="9" transform="translate(150,186)" fill-opacity="0.647058844566" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.647058844566" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,186)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,186)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >165</text ></g ><g font-size="9" transform="translate(150,199)" fill-opacity="0.698039233685" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.698039233685" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,199)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,199)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >178</text ></g ><g font-size="9" transform="translate(150,212)" fill-opacity="0.749019622803" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.749019622803" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,212)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,212)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >191</text ></g ><g font-size="9" transform="translate(150,225)" fill-opacity="0.800000011921" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.800000011921" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,225)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,225)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >204</text ></g ><g font-size="9" transform="translate(150,238)" fill-opacity="0.847058832645" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.847058832645" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,238)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,238)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >216</text ></g ><g font-size="9" transform="translate(150,251)" fill-opacity="0.898039221764" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.898039221764" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,251)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,251)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >229</text ></g ><g font-size="9" transform="translate(150,264)" fill-opacity="0.949019610882" fill="rgb(0,0,0)" text-rendering="optimizeLegibility" stroke="rgb(0,0,0)" stroke-opacity="0.949019610882" - ><rect width="40" x="0" height="13" y="0" stroke="none" + ><rect x="0" width="40" height="13" y="0" stroke="none" /></g - ><g text-rendering="optimizeLegibility" font-size="9" transform="translate(150,264)" - ><text xml:space="preserve" x="50" y="6" stroke="none" + ><g font-size="9" text-rendering="optimizeLegibility" transform="translate(150,264)" + ><text x="50" xml:space="preserve" y="6" stroke="none" >242</text - ><rect x="0" y="0" transform="translate(0,13)" width="40" height="13" stroke="none" - /><text xml:space="preserve" x="50" y="6" transform="translate(0,13)" stroke="none" + ><rect x="0" width="40" height="13" y="0" transform="translate(0,13)" stroke="none" + /><text x="50" xml:space="preserve" y="6" transform="translate(0,13)" stroke="none" >255</text ></g ></g Modified: xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color2.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color2.svg?view=diff&rev=441943&r1=441942&r2=441943 ============================================================================== --- xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color2.svg (original) +++ xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/Color2.svg Sun Sep 10 04:41:57 2006 @@ -5,17 +5,17 @@ ><!--Generated by the Batik Graphics2D SVG Generator--><defs id="genericDefs" /><g ><g text-rendering="optimizeLegibility" - ><text xml:space="preserve" x="10" y="30" stroke="none" + ><text x="10" xml:space="preserve" y="30" stroke="none" >Opaque Colors, Half Transparent AlphaComposite</text ><rect x="10" y="40" fill="blue" width="100" height="50" opacity="0.5" stroke="none" stroke-width="5" /><rect x="10" y="40" fill="none" width="100" height="50" opacity="0.5" stroke="lime" stroke-width="5" /><rect x="10" y="40" width="100" height="50" opacity="0.5" stroke="none" stroke-width="5" - /><text x="10" y="30" transform="translate(0,90)" stroke="none" stroke-width="5" xml:space="preserve" + /><text x="10" xml:space="preserve" stroke-width="5" y="30" transform="translate(0,90)" stroke="none" >Transparent Colors, Opaque AlphaComposite SrcOver</text ></g ><g transform="translate(0,90)" fill-opacity="0.501960813999" fill="rgb(0,0,255)" text-rendering="optimizeLegibility" stroke="rgb(0,0,255)" stroke-width="5" stroke-opacity="0.501960813999" - ><rect width="100" x="10" height="50" y="40" stroke="none" - /><rect x="10" y="40" fill="none" width="100" height="50" stroke="rgb(0,255,0)" + ><rect x="10" width="100" height="50" y="40" stroke="none" + /><rect fill="none" x="10" width="100" height="50" y="40" stroke="rgb(0,255,0)" /></g ></g ></svg Modified: xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/ContextATransform.svg URL: http://svn.apache.org/viewvc/xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/ContextATransform.svg?view=diff&rev=441943&r1=441942&r2=441943 ============================================================================== --- xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/ContextATransform.svg (original) +++ xmlgraphics/batik/trunk/test-references/org/apache/batik/svggen/ContextATransform.svg Sun Sep 10 04:41:57 2006 @@ -25,7 +25,7 @@ ><g ><defs id="testdefs1" ><font horiz-adv-x="75.0" id="testfont1" - ><font-face ascent="92.163086" descent="19.555664" units-per-em="100" font-family="Arial" font-style="normal" font-weight="normal" + ><font-face ascent="92.163086" font-style="normal" descent="19.555664" units-per-em="100" font-family="Arial" font-weight="normal" /><missing-glyph horiz-adv-x="75.0" d="M12.5 0 L12.5 62.5 L62.5 62.5 L62.5 0 L12.5 0 ZM14.0625
{'source': 'Apache Software Foundation Public Mail Archives'}