Comment 13 for bug 1242678

Revision history for this message
Till Kamppeter (till-kamppeter) wrote :

seb, thanks for the hint. By adding a debug fprintf() line to libspectre/spectre-device.c of the libspectre source package and rebuilding the package I could discover the Ghostscript command line equivalent to the libgs call used in libspectre. It is

gs -dMaxBitmap=10000000 -dSAFER -dNOPAUSE -dNOPAGEPROMPT -P- -sDEVICE=display -dTextAlphaBits=4 -dGraphicsAlphaBits=2 -g402x574 -r57,428571x57,400000 -dDisplayFormat=6359172 -sDisplayHandle=16#7f974c00d6f0 -c '<< /Orientation 3 >> setpagedevice .locksafe' -f ~/Documents/M_1_no_of_ppts.eps

Unfortunately, one cannot simply call this on the command line, as the "display" output device is used and this seems to send a bitmap to a specified, existing X window. When rotating the image, only the resolution and size values change in the command line and also the value after "/Orientation". Odd orientations (3, 1) do not display in evince, even orientations (2, 0) do.

To run an isolated command line as similar as possible, I tried the "x11" device:

gs -dMaxBitmap=10000000 -dSAFER -P- -sDEVICE=x11 -dTextAlphaBits=4 -dGraphicsAlphaBits=2 -g402x574 -r57,428571x57,400000 -c '<< /Orientation 3 >> setpagedevice .locksafe' -f ~/Documents/M_1_no_of_ppts.eps

Here the file displayed with all 4 orientations, but the output as wrong for the odd orientations. For the odd orientations we expect the output in landscape orientation, but it appears here also in portrait, so all 4 orientations give portrait output. So something seems to be wrong with how Ghostscript treats this file.