All I want to do is print my fucking graphics files at a particular size on the fucking page. Nothing fancy. This image at this position at this size. That image at that position at that size.
I have writen a program that creates a PDF. My PowerBook can display the PDF, but since it will not connect to my network printer I cannot print it. Jeremy’s NT box can print but it cannot handle the PDF. My Linux box has a version of GhostView that can view PDFs but it cannot read my PDF either. I think the problem is that the PDF format has undergone several enhancements over the years and my PDF-generating program is using some newfangled format the other computers cannot grok (both the NT box and the Linux box being full of very outdated software). I am pretty sure I do not need any special PDF features to create my document. Is there a way to convert a new-format PDF to an old-format PDF? And why the hell are new versions of PDF incompatible with old viewers? Why can’t that at least display the parts of the document not using new features? Why do they have to crash? Why can’t anyone write a viewer that does not crash all the fucking time?
I have written a program (actually an XSLT) that
uses SVG to lay
out the graphics. All very simple stuff; the file has on its
outermost svg element the attributes
width="148mm" height="210mm". All very simple. As
documented in the SVG specification. I can view this SVG
on Jeremy’s Windows-NT box. When I print it, it
comes out 115 mm wide and longer than the page (stretched
so that the pictures look absurdly thin). What the fuck? What
the fucking fucking fucking fucking fucking fucking fucking
fucking fuck is this fucking shit!? The size of the fucking
picture is explictly specified. The printer is a PostScript
printer. The SVG vewier plug-in is written by Adobe, the people
who specified the PostScript language, the people who contribued
most of the printing know-how to the SVG specification, the
people who wrote Appendix G of the Red Book that describes
very clearly and in detail how printer drivers and printing
programs can communicate with each other the requirements of the
picture and in particular the dimensions of the fucking page.
So what went wrong?
For that matter, why can’t Mac OS X talk to my
network printer? The LPR
protocol is not exactly a new idea. Mac OS 9 supported it
(on and off, admitedly). Why can’t it just print to my
printer? Why can’t I just tell it that there is a
PostScript printer called lp on this machine and
have it talk to the printer queue daemon and if that fails tell
me exactly what stage in the printing stack has failed so
I can fucking fix it?
It’s the year 2004 for fuck’s sake. Printers with Level 2 PostScript date back to the early 1990s. This is not fucking rocket science. I am not asking for flying cars or moon bases or protein pills. I just want to be able, with minimal fuss, to print a document containing some words and some pictures. Why is this still beyond us? Why?