vhardy 01/10/12 00:59:05 Modified: . build.xml sources/org/apache/batik/ext/awt/g2d TransformStackElement.java test-resources/org/apache/batik/svggen/resources Messages.properties test-sources/org/apache/batik/svggen SVGAccuracyTest.java Log: + Fixed bug 3456. + Improved error reporting for SVGAccuracyTest Revision Changes Path 1.85 +4 -1 xml-batik/build.xml Index: build.xml =================================================================== RCS file: /home/cvs/xml-batik/build.xml,v retrieving revision 1.84 retrieving revision 1.85 diff -u -r1.84 -r1.85 --- build.xml 2001/10/04 08:25:36 1.84 +++ build.xml 2001/10/12 07:59:05 1.85 @@ -44,7 +44,7 @@ [win32] .\build.bat help - $Id: build.xml,v 1.84 2001/10/04 08:25:36 vhardy Exp $ + $Id: build.xml,v 1.85 2001/10/12 07:59:05 vhardy Exp $ --> @@ -702,6 +702,9 @@ <mkdir dir="${test-references}/svgbe/accepted-variation"/> <mkdir dir="${test-references}/svgbe/candidate-variation"/> <mkdir dir="${test-references}/org/apache/batik/svggen/candidate-ref" /> + <mkdir dir="${test-references}/org/apache/batik/svggen/candidate-ref" /> + <mkdir dir="${test-references}/org/apache/batik/svggen/rendering/candidate-ref" /> + <mkdir dir="${test-references}/org/apache/batik/svggen/rendering/accepted-variation" /> </target> <target name="ttf2svg" 1.3 +18 -1 xml-batik/sources/org/apache/batik/ext/awt/g2d/TransformStackElement.java Index: TransformStackElement.java =================================================================== RCS file: /home/cvs/xml-batik/sources/org/apache/batik/ext/awt/g2d/TransformStackElement.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- TransformStackElement.java 2001/10/01 12:37:10 1.2 +++ TransformStackElement.java 2001/10/12 07:59:05 1.3 @@ -17,7 +17,7 @@ * * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Hardy</a> * @author <a href="mailto:[EMAIL PROTECTED]">Paul Evenblij</a> - * @version $Id: TransformStackElement.java,v 1.2 2001/10/01 12:37:10 vhardy Exp $ + * @version $Id: TransformStackElement.java,v 1.3 2001/10/12 07:59:05 vhardy Exp $ */ abstract public class TransformStackElement implements Cloneable{ /** @@ -168,6 +168,11 @@ transformParameters[0] *= stackElement.transformParameters[0]; transformParameters[1] *= stackElement.transformParameters[1]; break; + case TransformType.TRANSFORM_GENERAL: + transformParameters + = matrixMultiply(transformParameters, + stackElement.transformParameters); + break; default: canConcatenate = false; } @@ -175,4 +180,16 @@ return canConcatenate; } + + /** + * Multiplies two 2x3 matrices of double precision values + */ + private double[] matrixMultiply(double[] matrix1, double[] matrix2) { + double[] product = new double[6]; + AffineTransform transform1 = new AffineTransform(matrix1); + transform1.concatenate(new AffineTransform(matrix2)); + transform1.getMatrix(product); + return product; + } + } 1.4 +9 -0 xml-batik/test-resources/org/apache/batik/svggen/resources/Messages.properties Index: Messages.properties =================================================================== RCS file: /home/cvs/xml-batik/test-resources/org/apache/batik/svggen/resources/Messages.properties,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Messages.properties 2001/10/10 11:01:28 1.3 +++ Messages.properties 2001/10/12 07:59:05 1.4 @@ -77,6 +77,15 @@ SVGAccuracyTest.entry.key.line.number = \ Line number +SVGAccuracyTest.entry.key.column.number = \ +Column number + +SVGAccuracyTest.entry.key.column.expected.value = \ +Expected column value + +SVGAccuracyTest.entry.key.column.found.value = \ +Found column value + SVGAccuracyTest.entry.key.reference.line = \ Reference line 1.8 +53 -1 xml-batik/test-sources/org/apache/batik/svggen/SVGAccuracyTest.java Index: SVGAccuracyTest.java =================================================================== RCS file: /home/cvs/xml-batik/test-sources/org/apache/batik/svggen/SVGAccuracyTest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- SVGAccuracyTest.java 2001/10/11 09:42:42 1.7 +++ SVGAccuracyTest.java 2001/10/12 07:59:05 1.8 @@ -45,7 +45,7 @@ * SVG reference. * * @author <a href="mailto:[EMAIL PROTECTED]">Vincent Hardy</a> - * @version $Id: SVGAccuracyTest.java,v 1.7 2001/10/11 09:42:42 vhardy Exp $ + * @version $Id: SVGAccuracyTest.java,v 1.8 2001/10/12 07:59:05 vhardy Exp $ */ public class SVGAccuracyTest extends AbstractTest implements SVGConstants{ @@ -89,6 +89,15 @@ public static final String ENTRY_KEY_LINE_NUMBER = "SVGAccuracyTest.entry.key.line.number"; + public static final String ENTRY_KEY_COLUMN_NUMBER + = "SVGAccuracyTest.entry.key.column.number"; + + public static final String ENTRY_KEY_COLUMN_EXPECTED_VALUE + = "SVGAccuracyTest.entry.key.column.expected.value"; + + public static final String ENTRY_KEY_COLUMN_FOUND_VALUE + = "SVGAccuracyTest.entry.key.column.found.value"; + public static final String ENTRY_KEY_REFERENCE_LINE = "SVGAccuracyTest.entry.key.reference.line"; @@ -237,8 +246,28 @@ if(!accurate){ save(bos.toByteArray()); + int cn = computeColumnNumber(refLine, newLine); + String expectedChar = "eol"; + if(refLine.length() > cn){ + expectedChar = (new Character(refLine.charAt(cn))).toString(); + } + String foundChar = "null"; + if(newLine != null && newLine.length() > cn){ + foundChar = (new Character(newLine.charAt(cn))).toString(); + } + + if(expectedChar.equals(" ")){ + expectedChar = "' '"; + } + if(foundChar.equals(" ")){ + foundChar = "' '"; + } + report.setErrorCode(ERROR_GENERATED_SVG_INACCURATE); report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_LINE_NUMBER,null), new Integer(ln)); + report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_COLUMN_NUMBER,null), new Integer(cn)); + report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_COLUMN_EXPECTED_VALUE,null), expectedChar); + report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_COLUMN_FOUND_VALUE,null), foundChar); report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_REFERENCE_LINE,null), refLine); report.addDescriptionEntry(Messages.formatMessage(ENTRY_KEY_NEW_LINE,null), newLine); report.setPassed(false); @@ -248,6 +277,29 @@ } return report; + } + + public int computeColumnNumber(String aStr, String bStr){ + if(aStr == null || bStr == null){ + return -1; + } + + int n = aStr.length(); + int i = -1; + for(i=0; i<n; i++){ + char a = aStr.charAt(i); + if(i < bStr.length()){ + char b = bStr.charAt(i); + if(a != b){ + break; + } + } + else { + break; + } + } + + return i; } /**
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]