BJC Driver for GhostScript
The driver differs from the bjc600/bjc800 driver (first,
it is not part of colour deskjets 'gdevcdj.c' ). It has extra
capabilities, for example:
- Output gamma correction (Grey or RGB)
- Colour correction based on paper colour
(RGB)
- Colour inks can be used separately
for monochrom or greyscale printing (Cyan, Magenta,
Yellow, Cyan+Magenta= Blue, Cyan+Yellow=Green or
Magenta+Yellow=Red)
- Inverse printing
- Setable Media type
- Setable printing quality
- ...
The description is divided into four parts. The first
is a Howto (I.) , the second is a guide to Installation of the patch (II.) , the third is a long
description of the Source code (III.) , the fourth part
is a TODO (IV.) , the fifth is about
the cartridge refilling (IV.) .
Before anything, the latest files (v0.75):
I. How to Use the driver
1. The driver includes four devices:
- bjcmono driver for monochrom printing (black, or simple colours),
GhostScript default dithering, NO gamma correction, NO paper colour correction,
- bjcgray driver for grayscale printing (black, or simple colours),
Floyd-Steinberg dithering, gamma correction, paper 'colour' correction
- bjccmyk driver for colour printing, GhostScript default dithering,
NO gamma correction, NO paper colour correction,
- bjccolor driver for colour printing, Floyd-Steinberg dithering,
gamma correction (grey or RGB), paper colour correction
- I want to make a fifth
device ('bjcphoto' ), but it is a bit difficult (for me) to understand the
photo cartridge (BC-06) 'programming' from some printing from Windows driver
to file. If you have some good ideas, please write it to me ( Gergely Szász ).
2. The command line arguments:
- ' PrinterType' you can set the
type of the printer from the above list:
- ' BJC-250' or ' 250' default. (Yes I have
an original BJC-250 printer)
- ' BJC-250ex' or ' 250ex'
- ' BJC-1000' or ' 1000 '
At the moment this setting has
NO effect!
- ' Feeder' you can set the paper
feeder:
- ' Auto' or 'a ' default
- ' Manual' or 'm '
so on my BJC-250, I can't see
any difference from Manual or Auto (and the Windows driver makes the same
(boring effect!); if I load a paper to the printer from the back (maybe
this is the manual sheet feeder) and start a print job, the first thing my
BJC-250 does is to spit off the loaded paper.
- ' Media' the printing media:
- ' PlainPaper' or ' Plain' or 'p ' default
- ' CoatedPaper' or ' Coated'
- ' TransparencyFilm' or
' Trans'
- ' BackprintFilm' or ' Back'
- ' PaperWithLead' or ' Lead'
- ' Textile' or ' Fabric' or 'Text '
- ' GlossyPaper' or ' Gpaper' or 'g '
- ' HighGlossyFilm' or ' Gfilm'
- ' Envelope' or ' Env' or 'e '
- ' Card' or ' plain' or 'p '
- ' HighResolutionPaper'
or ' HiPap'
or ' h'
- ' HighResPaper' or ' HiRes'
- ' FullBleed' or ' Bleed'
- ' Banner'
- ' Other'
so this is the list. Yes, there
are two 'hires' paper (why? see the 'gdevbjcl.h '). The CoatedPaper comes from the 'gdevbjcl.h ', because the Windows driver doesn't use it, but it uses
the ' CoatedPaper' code for the ' Other' !?
- ' Quality' of the printing:
- ' Normal' or 'n ' default
- ' High' or 'h '
- ' Draft' or 'd '
- and ' NonBleed' or ' b '
so the NonBleed option is probably
for the photo ink??
- ' InkColor' for monochrom or
grayscale printing. If you use a colour cartridge (BC-05) you can set a colour
for printing:
- ' Black' or 'K ' default
- ' Cyan' or 'C '
- ' Magenta' or 'M '
- ' Yellow' or 'Y '
- ' Red' or 'R '
- ' Green' or 'G '
- ' Blue' or 'B '
- ' CK' cyan and black
- ' MK' magenta and black
- ' YK' yellow and black
- ' RK' red and black
- ' GK' green and black
- ' BK' blue and black
- ' CMY' cyan magenta and yellow
- ' CMYK' all component
if you use a black cartridge
(BC-02) this setting has no effect and the printing goes on with black (what
a pitty..)
- ' InkColor' for cmyk or colour
printing, causes printing of selected components only:
- ' Black' or 'K '
- ' Cyan' or 'C '
- ' Magenta' or 'M '
- ' Yellow' or 'Y '
- ' Red' or 'R '
- ' Green' or 'G '
- ' Blue' or 'B '
- ' CK' cyan and black
- ' MK' magenta and black
- ' YK' yellow and black
- ' RK' red and black
- ' GK' green and black
- ' BK' blue and black
- ' CMY' cyan magenta and yellow
- ' CMYK' all component, default
it may be used for nothing (I
used it only for diagnostic).
These parameters are all string
parameters, so you can define them with the '-sPPPPPPP=xxxxxx' form, for
example:
gs -sDEVICE=bjcmono -sInkColor=Yellow ...
- 'Inverse ' could be 'true ' or 'false', and cause inverse printing. Default is false :-)
- 'Smooth ' could be 'true ' or 'false', and cause smoothed printing with the BC-02 cartridge.
Default is false.
- 'Compress ' could be 'true ' or 'false', and it controlls the compression of the raster lines.
The compression has NO EFFECT on the image!!! It only shortens
(or not) the length of the data sended to the printer. I have an AMD-K2/450
and ~192M RAM and I experienced about 30% avarage CPU usage difference between
using compression or not with the 'bjcmono ' device (~30% CPU usage for compress and ~60% CPU usage
for non-compress) for the 'escher.ps ' example printing at 360dpi and about 10% avarage CPU usage
difference between using compression or not with the 'bjccolor ' device (~60% CPU
usage for compress and ~70% CPU usage for non-compress) for the same file.
This dramatic difference between the ' bjcmono' and the ' bjccolor' device is because the colour image can't be compressed
as well as the black one and so the difference between the length of the printed
lines reduces in case of the colour image. I used it for diagnose. Default
is true.
- ' ComposeK' could be ' true' or 'false ', and cause creating
'K' component. The three colour /C, M, Y/ together make black so,
if we have black ink next to colour inks, we can print it with black ink
instead of expensive colour inks /this is the K component/. With the BJC-250
or 1000 it has no practical effect, because we cannot print black and colour
together. The dafult is false.
- 'LimitCheck ' could be 'true ' or 'false', and causes limiting the error coming from paper colour
correction. It may make some garbage printing clearer. The default is false.
So, these five options are bool.
You could define them as follows:
gs -sDEVICE=bjccmyk -dInverse -dCoompress=false ...
You know, the -dPPPPPPP
is equal with -dPPPPPPP=true!!
3. Some examples:
gs -sDEVICE=bjcgray
-dPaperRed=200 -dGamma=1.4 ... it means the following: we use a bright cyan paper (RGB: 200,255,255),
and we want to print a bit 'lighter' than the original image
gs -sDEVICE=bjccolor -dGamma=0.7 ... is the same as
gs -sDEVICE=bjccolor -dRedGamma=0.7-dGreenGamma=0.7 -dBlueGamma=0.7 ... and the same as
gs -sDEVICE=bjccolor -dGamma=0.7-dRedGamma=0.1-dGreenGamma=1.7 -dBlueGamma=9.7 ... because the -dGamma is set
so these three examples mean the
following: we want to print a bit darker than the original image
gs -sDEVICE=bjccolor -dRedGamma=0.7 ... , we want to weaken the red component of
the image
gs -sDEVICE=bjcgray -sInkColor=M -dCompress=false ... , we print the image in Magenta without the raster line compression
Go Up
1. Download the patch
(and the
ghostscript source code )
(2. Uncompress the ghostscript
source in e.g /usr/src/)
3. Uncompress the patch in the
same directory e.g. /usr/src/ :
gzip -d gs6.50-bjc250-v0.75.patch.gz
3. Patch the patch:
patch -p0 <gs6.50-bjc250-v0.75.patch
4. Compile and install ghostscript
Go Up
III.
About the source code
Go Up
- A 'photo'
device which is able to print with BC-06 photo cartridge.
V. The refilling of the Canon
ink cartridges
At first, I would like to mention that it will only
be abaut the BC-02, BC-05 and BC-06 type of Canon ink cartridges, but perhaps
it can be applied for the other types (BC-20 ...). Why not?? :-)
- The first step is to pick out of the tiny plug(s).
I usually do it with a needle. Stick the needle into the hole of the plug,
and put it out while twisting it around. When you try it first it will probably
seem quite difficulte, but you can get the head of it! :^|
- Next you will need a hypodermic syringe. The black
cartridge is cca. 20ml, and one tank of the color cartidge is one-third of
it, so a 5-10ml hypodermic is seem to be good choice.
- You will need some ink too. [ :-) ] I tried a number
of types such as:
- Parker Quink - black and turquise
- M&M Ink turquise
- KOH-I-NOOR Inkoust blue and black
- Kores stamp pad ink green and red
Perhaps the only important criteria is that it has
to be water based.
- You will need some alcoholic (not exactly for
you, but for ink :-), may the i-propyl alcohol no better than ethanol, but
cheaper. (I use ethanol :-).
- Next fill the cartridge whit a mixture of alcohol and ink
(I use about 1/4 - 3/4 alcohol - ink mixture).
- Insert the cartridge, and do some 'Head Cleaning'. The bjc-setup
utility may help.
- Try it...
If you have any ideas, suggestions, or problems please
write them to me .
.PS images 'made' by GIMP-1.2.1
.PS sorry for my english