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]