1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160
|
CJET - HP Laserjet Emulation for Canon CaPSL (level III+) laser printers
Copyright (c) 1996 Michael Huijsmans
email: mgh@sbox.tu-graz.ac.at
--------------------------------------------------------------------------
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2, or (at your option)
any later version.
This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details.
You should also have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
--------------------------------------------------------------------------
Contents of this file:
0. What is Cjet?
1. Supported machines
2. Usage
3. Features
4. Notes & Bugs
See file INSTALL for compilation instructions.
See file TODO for missing features
0. What is it?
--------------
CJET filters printer data from stdin to stdout, converting HP PCL
(Printer Command Language) escape sequences and data structures,
e.g. font headers, to their CaPSL equivalents. CaPSL is short for
`Canon Printing Systems Language'. Whereas PCL is a de-facto
world-wide standard as a laser and inkjet printer control language (if
you can call a bunch of escape sequences a `language'), CaPSL is
limited to Canon laser printers. Newer laser printers from Canon come
with PCL emulation, so CaPSL may well be facing extinction.
1. Supported machines:
----------------------
The program itself should compile on any UNIX or UNIX-like system.
It even compiles under MS-DOS. (BC 3.1 and DJGPP).
A Canon laser printer with CaPSL level III is required.
2. Current usage:
-----------------
cjet [options] <PCL-input >CaPSL-output
Current options:
----------------
-f set CaPSL paint mode to 'full'. Default is 'partial'.
Full paint mode requires at least 1.5MB printer memory.
Not very useful right now.
-p ignore paper size commands. Useful for printing files
formatted for paper size X on printers with paper size Y.
-q quiet mode. Suppresses all warning messages
-x X shift output on paper by X dots horizontally. Positive values
of X shift to the right; negative values to the left.
Dots are 1/300 in.
-y Y shift output on paper by Y dots vertically. Positive values
of Y shift downwards; negative values shift upwards.
3. Features:
------------
Cjet currently `emulates' a LaserJet II and supports some PCL features
found on later LaserJet models like the LaserJet IIp, IIIp, 4l. Not all
PCL commands are supported or fully functional; see the Missing / TODO
file TODO. The emulation is fairly complete; I emphasized the font
download and raster graphics stuff in favor of the plain text stuff
because I needed a TeX DVI driver ASAP. Among other things, Cjet
supports the following:
- PCL Laserjet download fonts: auto-rotating and old-style landscape
types
- PCL 5 raster compression modes 1, 2 and 3
- Roman-8, ISO Latin 1, Windows, PC-8, PC-850, PC-8D/N, and various other
symbol sets for text - mode printing
- PJL sequences for newer LaserJet models are parsed and ignored (dvilj4l)
Cjet was "tested" with:
- PCL output from dvilj, dvilj2p, dvilj4l: TeX DVI drivers for various
LaserJet models: LJII / LJIIp / LJ4l
- PCL output from misc. software, e.g. the ljet3 driver in GhostScript
version 3.12, the LJIIIP driver in Windoze 3.1 (Note: see TODO on this)
4. Notes:
---------
PJL (Printer job language) sequences (in output from dvilj4l) are now ignored.
I mainly use `cjet' under Linux to convert PCL output from dvilj2p, a
TeX DVI driver for various flavours of LaserJet printers. It seems to work
(I can read what the Canon prints), at least for the 128-character fonts.
The newer 256-character fonts shouldn't pose any problems, except for the
fact that then only 16 download fonts are possible. This leads to
unpredictable results when more fonts get downloaded.
A workaround for this of course is to split the printing job into
smaller chunks.
I also prefer using GhostScript with the ljet3 driver and cjet instead
of the lbp8 driver because the lbp8 output gets shifted down and to
the right for some reason; with cjet I can shift it right back...
Caution: PCL mode 3 compressed raster data usually produces HUGE
amounts of CaPSL raster data, as CaPSL level III does not support any
compression.
My printer is a Canon LBP-8 III+ with 1.5Mb memory. `Cjet' should(?)
also work for other Canon printers with less memory (LBP-4, LBP-4U),
except for full-page raster graphics, but I couldn't test this.
Anyway, enough paper was wasted already...
The printers must support CaPSL level III or higher.
Bugs:
-----
Version 0.8.9:
A quasi-bug involving missing download characters in control code positions
has been fixed.
Selection of nonexistent download fonts (dvilj) is now ignored.
----
Email bug reports, suggestions, remarks etc. to me at:
mgh@sbox.tu-graz.ac.at
However, I can't promise prompt reaction, as I *really* have other
things to do...
|