Comment 7 for bug 1119304

Revision history for this message
In , Finnian Reilly (finnian-z) wrote :

Created attachment 74421
Test SVG file for script scaling.py

The 1.12.2 and 1.12.10 versions of libcairo2 introduces a rendering bug that was not present in version 1.10.2. It is possible the bug may also be in later versions.

The rendering problem shows up when using the rsvg utility to convert the attached SVG file to PNG format. (See package librsvg2-bin)

TO REPRODUCE THE BUG
On my machine I am running Ubuntu 12.10 amd64 which has libcairo2-1.12.2. Save the attached file 'waterfall.svg.gz' and Python script 'scaling.py' into a test directory. Unzip the SVG file with gunzip. Make sure package librsvg2-bin is installed.

File: scaling.py
import subprocess
for width in range (400, 900, 100):
    print 'Converting to width:', width
    subprocess.call (['rsvg', '--width', str (width), 'waterfall.svg', ,waterfall.%s.png' % width])

Run the script from the command line. The script outputs 5 PNG files ranging in width from 400 to 800. The first and last PNG do not have any problem, but the 500, 600 and 700 width files all have major artifacts.

TESTING VARIOUS LIBCAIRO2 VERSIONS
Create a subdirectory 'libs'. Into this directory extract the shared object 'libcairo.so.2.xxxxx.x' for various versions. Select the one for testing by creating a link. This selects the 1.10.2 version:

    ln libs/libcairo.so.2.11000.2 libs/libcairo.so.2

set the library path as follows

export LD_LIBRARY_PATH=libs

Run the test script again and examine the output. You will find that the 1.10.2 version produces images without any artifacts.

This bug has also been reported here with a different wording.+
https://bugs.launchpad.net/ubuntu/+source/cairo/+bug/1119304