Hi folks,
Inkscape does the print orientation thing wrongly.
I'll try to explain.
Most - but *NOT* all! - printers start printing on the top of a sheet which
comes out of the printer in portrait.
That means that if you have your inkscape (or other document) in portrait, it
will be sent to the printer just like you have it on the screen. No rotation, no
nothing. Everything fine.
Inkscape assumes that all printers work this way. It's hard coded in (at least,
I did not go that deep, sorry) src/ui/dialog/print.cpp:
if (doc_width > doc_height) {
gtk_page_setup_set_orientation (page_setup, GTK_PAGE_ORIENTATION_LANDSCAPE);
paper_size = gtk_paper_size_new_custom("custom", "custom",
doc_height, doc_width, GTK_UNIT_POINTS);
I am not sure where the image is actually rotated (in Inkscape, the CUPS
driver?), but the decision goes completely wrong when you have a printer that
prints natively in landscape. This is the case for my label printer and my photo
typesetter. And as I read in the web, I'm not the first one with that problem.
The inkscape code is that "intelligent" that you can't even work around it
by
rotating the drawing before printing. It always comes out wrong. Amazing!
I'm sorry that I can't provide a useful patch (I'm not good at application
programming and all the high level stuff), but perhaps someone could fix this issue?
It would be great to have some kind of config option that sounds like "Printer
prints in landscape". Then this could be used to correct the decision if the
image/print has to be turned.
Kind regards
Philipp