In my previous post about our autoporting project I told that we achieved compile and started running unit tests on our internal Aspose.Foundation library.

Today I am happy to tell that our completely autoported Java code is now able to generate PDF and XPS documents. The documents generated by the Java version pass the same verification, compliance and rasterization tests as the ones generated by our .NET product.

The number of unit tests that pass today in Aspose.Foundation is 76% (it was 26% in my previous post).

If things go like this, we will be able to achieve 100% unit tests pass for Aspose.Foundation and Java in the next few days. And then we will get back to comlete autoporting code for the rest of the Aspose.Words library.

An interesting highlight from the previous week of work - we had to implement our own autoportable Matrix class for coordinate transformations. At first we tried to abstract .NET’s Matrix and Java’s AffineTransform behind a platform independent abstraction, but that did not work. Matrix in GDI+ uses float values whereas AffineTransform in Java uses doubles and that results in many small differences in generated documents - that makes it hard for our gold compare tests to pass on both platforms. So we wrote our own matrix to ensure we can exactly same results on .NET and Java.