[Date Prev][Date Next][Thread Prev][Thread Next][Thread Index]
RE: [XaraXtreme-dev] Landscape printing
- From: Alex Bligh <alex@xxxxxxxxxxx>
- Date: Mon, 10 Jul 2006 15:23:25 +0100
- Subject: RE: [XaraXtreme-dev] Landscape printing
--On 10 July 2006 15:05 +0100 Charles Moir <CharlesM@xxxxxxxx> wrote:
What's involved in getting printer margins and things? They are rather
important so you can see what's going to print. And also I think our
smart orientation code relies on this.
Yes it does. What's involved is using the GnomePrint UI (or some part
thereof) which provides PPD reading (I am told). On Linux there are PPD's
even for non-postscript printers as you still send PS to them. The
difficulty here is I don't want to use the GnomePrint backend (which seems
to do more harm than good).
So I was leaving this till after 0.6, not least as I'm still thinking about
how to do it. So don't get too attached to the current Linux print dialog
box (rather unlikely I think that anyone would, but...)
Our LaserJet can do PCL and we usually have drivers installed for both
PCL and Postscript and so you should be able to compare directly with
the Windows version against the same printers.
I've done that here, and they are broadly the same. Of course on Linux the
PCL driver is a GS backend, so we print to it using PS anyway (and GS is a
hell of a lot faster rasterizing than the LJ's internal RIP - this is
really very quick here). Going via GS to PCL on LX was faster than going
direct to PCL on Windows - not quite a fair test as the machines aren't the
same power, but certainly it didn't introduce the delay I expected it to.
The other main difference is that when we print the whole page as a bitmap
(or antialiased bitmap): on Linux we use the internal Camelot code to
produce a PS bitmap, rather than use the PS printer driver to do it like we
do on Windows. This is because the wxWidgets bitmap plotting code is (to
put it politely) fundamentally flawed (e.g. the first thing it does is
enlarges the entire bitmap to be page resolution which eats loads of
memory, then doesn't even work).