                          Trademarks
                          ----------




Amiga is a registered trademark of Commodore-Amiga, Inc.
Kickstart is a registered trademark of Commodore-Amiga, Inc.
Workbench is a registered trademark of Commodore-Amiga, Inc.
PostScript is a trademark of Adobe Systems Incorporated.
PageStream is a registered trademark of Soft-Logik Publishing Co.
Professional Page is a trademark of Gold Disk Inc.
AGFA, Compugraphic and Intellifont is a registered trademark of AGFA

All  other  trademarked  product and company names used herein are
used   for  identification  purposes  only.   No  infringement  of
trademarks   is  intended.   Trademarks  remain  property  of  the
trademark holder.




          Warranty, Registration, Support and Upgrades
          --------------------------------------------




Copyright      1992   Wolf  Faust.   All  rights  reserved.   All
distribution-  and  marketing  rights to the software (driver) are
vested in Canon Europa N.V.

The  driver  has  been  provided  to you strictly 'as is', without
warranty  of  any  kind.   In no event shall Canon and/or Faust be
held  liable  for  any  loss or damages arising out of any action,
from  whatever  source, concerning the use or inability to use the
driver.

For  obtaining a copy of the driver, or for more information about
Amiga driver, please contact your local Canon representative.

Following driver revisions have been made:


Preliminary:

Version 99
Version 99a  - Formfeed allowed in native mode for CanonStudio/ADPro
Version 99b  - TIFF compression now written in assembler
Version 99c  - small bug in ink compensation fixed
               (caused small color differences)
             - CanonPref improved for KS 3.0 compatibility
             - CanonPref font independent check now allows size >5 pix.
Version 99d  - Supermode added
             - CanonPref user interface improved and SuperMode added

FINAL:

03.09.91     Version 1.0




                          Thanks to
                          ---------





Several  people were involved during the writing of the driver and
documentation.   To  all of them, thank you!




                           Contents
                           --------




The  CanonBJC  package  contains a printer driver for use with the
Canon BJC800 and other Epson compatible printers.  Note, there are
special  driver  version  available  for the BJ130,300,330,10, LBP
printers!   Also,  the  CanonStudio  is  available  for  all Canon
printer  drivers.   CanonStudio allows printing of IFF pictures in
any  size  from disk (this means:  you don't need much memory like
ADPro!).   Also  CanonStudio  offers some enhanced dither routines
and 24/8 Bit accuracy.

The following files are included on the disk:

"CanonBJ-EC"  -  The printer driver revision 1
"CanonPref" -  A KS 2.0 (or higher) driver preferences program
"Install"   -  Workbench install program for the CanonBJ-EC800 driver
"Report"    -  A report program telling your preferences/driver settings
"Readme"    -  The documentation file (and/or printed manual)
"Dither-Settings" - a drawer of predefined dither matrices
"Color-Settings"  - a drawer of predefined "color adjustments"






               Highlights of the CanonBJC package
               ----------------------------------





- ink compensation
- color and greyscale adjustment. 256 shades for each color component!
  You are able to print a color corrected picture without loosing any
  colors. Using the color adjustment you can control gamma correction,
  brightness and contrast, or filter colors. Again: this driver is
  not limited to max. 4096 colors as usual Amiga drivers!
- free definable dither routines. The driver allows you to enter
  any dither matrix for rect. disperesed /clustered dithers. Many dither
  routines are included.
- builtin support for the arXon electronic centronic switch box
- very fast graphic dumps
- Seperations are supported by the driver.
- automaticly uses improved code for 68020/30 processors if available
- fully supports WB 1.3, 2.0 and 2.1(!)
- all paper margins are definable
- mirror printing for T-Shirts...
- paper size is freely definable
- comes with an extra KS 2.0 preferences program for controlling the driver
- install program supplied
- full documentation
- free definable tab stops
- job end signal
- text color selectable
- while normal printer drivers are limited to 16 shades of grey,
  the CanonBJ-EC driver supports up to 256 shades of grey simultaneously
  (SuperMode)!






                      System requirements
                      -------------------






The  CanonBJ-EC driver is compatible with the entire family of Amiga
computers.   These  include  the  A500, A500+, A600, A1000, A2000,
A2500,  A2500/30  and A3000 computers.  The driver was designed to
run  under  Workbench  versions  1.3,  2.0 and 2.1.  The CanonPref
program was designed to run under Workbench 2.0 and 2.1.

The CanonBJ-EC driver was designed for the Canon BJC800 printer.






                         Installation
                         ------------






1. Setup  and connect your BJC-800 as described in the BJC-800 User's
   Manual.
2. Also make sure the BJC printer is setup as following:

   Function                 Setting
  
   o Printing Mode          As Appropriate. Start trying with Mode A!
   o Set Parameter
     ->Color                set by Amiga preferences
     ->Character Space      set by Amiga preferences
     ->Condensed Mode       set by Amiga preferences
     ->Page Length          set by Amiga preferences
     ->Line Length          set by Amiga preferences
     ->Select Font          As Appropriate; May be set by using CanonPref
     ->Graphic Table        Graphics
     ->International        set to USA!; the driver will handle all national
                            characters automaticly.
     ->AutoLF               set to OFF
     ->CR Code              set to NO PRINT
  
3. Boot your Amiga with your usual System Disk
4. Insert  the  Canon  Driver  Disk  and  select the appropriate
   "Drawer" for the printer.
5. Double Click on the "Install" program. The "Install" program
   will copy the driver on to the system disk and saves the default
   settings for the driver in env: and if available envarc:.
   If there is not enough free disk space to install the
   printer driver a requester will pop up saying so. In this
   case free up some disk space on your system disk by
   deleting unused files.
6. Start Preferences on your system disk (if you own Kickstart
   2.0 use the printer preference program). Select the CanonBJ-EC
   driver and adjust all other preference parameters to your
   environment. See your system manual for more information
   about the preference program. 
7. In case you use Workbench 2.0 (or higher) use the mouse to drag
   the CanonPref, Color-Settings and Dither-Settings icon into your
   Workbench prefs drawer. If your Workbench disk does not allow
   this because no space is left on disk, you can simply drag the
   programs to any other wanted drawer.
8. Start the Workbench "PrinterGfx" program and enable
   "Order" dither, "Color" with density 7.
9. Start the Workbenh "Printer" preferences program.
   Set the Page Length to 250 lines. This enables the
   automatic page size setting of the driver.
10. Enter your application program and try printing. Have fun!


Note:   the  install  program  will  erase  any previously
installed CanonBJ-EC drivers and settings without asking you so.






                      Workbench Preferences
                      ---------------------






While  the Workbench preferences program is described in detail in
your  system  manual,  there are three settings which belong to the
driver documentation:

Density:

The driver supported graphic densities:

In mode Epson24:

Density   X-DPI    Y-DPI   X*Y-DPI
 1         180     360       64800       (no color corrections...)
 2         360     360      129600       (no color corrections...)
 3         180     180       32400
 4         120     180       21600
 5         180     360       64800
 6         360     180       64800        
 7         360     360      129600

In mode Epson48:

Density   X-DPI    Y-DPI   X*Y-DPI
 1         180     360       64800        48 pin mode (no color corrections...)
 2         360     360      129600        48 pin mode (no color corrections...)
 3         180     180       32400
 4         120     180       21600
 5         180     360       64800        48 pin mode
 6         360     180       64800
 7         360     360      129600        48 pin mode

In mode CanonBJC:

Density   X-DPI    Y-DPI   X*Y-DPI
 1         180     180       32400        (no color corrections...)
 2         360     360      129600        (no color corrections...)
 3         180     180       32400
 4         180     180       32400
 5         180     180       32400
 6         360     360      129600        
 7         360     360      129600

The  desired density can be selected in Preferences or in case you
use  Workbench  2  "PrinterGfx".   Most  application programs also
allow you to select the density before doing a graphic dump.  This
setting overrides temporarily the preferences density setting.

Paper Size:

Under  Workbench 2 and 2.1 (or later) this driver supports the new
introduced papersizes.  Selecting paper sizes not supported by the
printer device or the driver might need some knowledge.  So here a
small  list on how to set most common paper sizes on a CanonBJC800
printer.   Note:   the settings differ for other printers, but you
mights start trying with these settings.

Specialy  CanonBJC800  users  should  note,  that  the CanonBJC800
printer  is  a  single page printer.  The printer does not support
endless  paper. Because of this you MUST define a page length! The
way  how  this must be done depends on what emulation you use:

Epson  mode  - the page length can be defined by setting CanonForm
to  ON  and defining the number of lines per page in preferences as
250  or  the  real  page  length.   Setting  page length to 250 is
recommended.   In  this case the printer driver itself chooses the
optimal page length for your selected paper size. For instance if
you  select  DIN  A4  and  a  page length of 250 lines, the driver
automaticly  chooses 65 lines per page at 6 lines per inch.  Note:
the  CanonBJ-EC  Epson  emulation  stores the page length in inches.
Because of this, small changes to the page length might not affect
the output.

In  CanonBJC  mode,  the  driver  automaticly sets the page length
similar  to  the  Epson modes "250" lines mode.  In CanonBJC mode,
the  printer  is  able  to print on a greater area.  Also the page
length can be defined in 1/10 accuracy. Again: use the CanonBJC
mode for graphic dumps.

Note:   setting  paper  size  to  FANFOLD  automaticly defines the
maximal page length of 22inch.

Note:   you  can  define your own page size by using the CanonResY
and CanonResX under any emulation.

PaperType:

A  papertype  of  SINGLE will eject a sheet with a Form Feed after
every  print.  Form Feed after a graphic dump is sent according to
the  SPECIAL_NOFORMFEED  flag.   You can use the FANFOLD papertype
setting  to force several dumps to appear on the same page.  Also,
if you need to run InitPrinter often, you may choose the papertype
FANFOLD to avoid printing empty pages. In BJC mode, FANFOLD sets
the page height to the maximum size of 22 inch (55,88cm).







                     The Driver in detail
                     --------------------





Now  that  you have installed and adjusted the driver, printer and
preference  setting,  there  are some details you should know when
using the driver.

This   driver  automatically  checks  for  the  processor  in  use
(68000,68010   or   68020,68030,68040)  and  optimizes  the  print
routines  accordingly.   Because  of  this, there is no need for a
special .020 version of the driver in order to get the most out of
your turbo amiga.

Aborting  printing  may  often  leave  the  printer  in an unknown
status.  This causes erronious printing on the next dump.  In case
you  abort printing, also switch your printer off and on. Also run
InitPrinter in order to bring back the printer in a known status.



The driver supports the unique Amiga commands shown below:

Name        Escape sequence        Function         Defined By
aRIS             ESCc               reset              ISO
aRIN             ESC#1           initialize           Amiga
aIND             ESCD                lf                ISO
aNEL             ESCE            return,lf             ISO
aSGR0            ESC[0m        normal char set         ISO
aSGR3            ESC[3m          italics on            ISO
aSGR23           ESC[23m         italics off           ISO
aSGR4            ESC[4m         underline on           ISO
aSGR24           ESC[24m        underline off          ISO
aSGR1            ESC[1m         boldface on            ISO
aSGR22           ESC[22m        boldface off           ISO
aSFC             SGR30-39    set foreground color      ISO
aSHORP0          ESC[0w         normal pitch           DEC
aSHORP2          ESC[2w           elite on             DEC
aSHORP1          ESC[1w           elite off            DEC
aSHORP4          ESC[4w        condensed fine on       DEC
aSHORP3          ESC[3w         condensed off          DEC
aSHORP6          ESC[6w          enlarged on           DEC
aSHORP5          ESC[5w          enlarged off          DEC
aDEN6            ESC[6"z       shadow print on         DEC
aDEN5            ESC[5"z       shadow print off        DEC
aDEN4            ESC[4"z       doublestrike on         DEC
aDEN3            ESC[3"z       doublestrike off        DEC
aDEN2            ESC[2"z           NLQ on              DEC
aDEN1            ESC[1"z           NLQ off             DEC
aSUS2            ESC[2v        superscript on         Amiga
aSUS1            ESC[1v        superscript off        Amiga
aSUS4            ESC[4v         subscript on          Amiga
aSUS3            ESC[3v         subscript off         Amiga
aSUS0            ESC[0v      normalize the line       Amiga
aPLU             ESCL          partial line up         ISO
aPLD             ESCK         partial line down        ISO
aFNT0            ESC(B  Typeface  0 (default): Courier DEC
aFNT1            ESC(R     Typeface  1  Sans Serif     DEC
aFNT2            ESC(K     Typeface  2  Roman          DEC
aFNT3            ESC(A        Typeface  3              DEC
aFNT4            ESC(E        Typeface  4              DEC
aFNT5            ESC(H        Typeface  5              DEC
aFNT6            ESC(Y        Typeface  6              DEC
aFNT7            ESC(Z        Typeface  7              DEC
aFNT8            ESC(J        Typeface  8              DEC
aFNT9            ESC(6        Typeface  9              DEC
aFNT10           ESC(C        Typeface 10              DEC
aPROP2           ESC[2p       proportional on         Amiga
aPROP1           ESC[1p       proportional off        Amiga
aJFY5            ESC[5 F      auto left justify        ISO
aJFY7            ESC[7 F      auto right justify       ISO
aJFY6            ESC[6 F      auto full justify        ISO
aJFY0            ESC[0 F      auto justify off         ISO
aJFY1            ESC[1 F      word fill(auto center)   ISO
aVERP0           ESC[0z       1/8" line spacing        +++
aVERP1           ESC[1z       1/6" line spacing        +++
aSLPP            ESC[nt      set form length n         DEC
aPERF            ESC[nq       perf skip n (n>0)       Amiga
aPERF0           ESC[0q         perf skip off         Amiga
aSLRM            ESC[Pn1;Pn2s   L&R margin             DEC
aCAM             ESC#3         Clear margins          Amiga
aTBC3            ESC[3g       Clear all h tabs         ISO
aTBC4            ESC[4g        Clr all v tabs          ISO
aTBCALL          ESC#4       Clr all h & v tabs       Amiga
aTBSALL          ESC#5        Set default tabs        Amiga
aRAW             ESC[Pn"r Next 'Pn' chars are raw     Amiga






                       The CanonPref Program
                       ---------------------






Beside  all  the functions mentioned in the chapter "The Driver in
detail",  there  are  some  more  options  unique  to the CanonBJ-EC
driver.   These  options are controlled using commodore's standard
environment  variables.   Those  variables can be set by using the
CLI setenv command, or by using the CanonPref preferences program.

CanonPref  provides  a nice and intuitive user interface and needs
at  least  Workbench  2 to run.  In case you don't use Workbench 2
(V37  and  above), see the chapter "Environment options" on how to
control  the  special options with a Kickstart 1.3 system.  If you
don't  use these options, default values will be used.  The driver
will read the arguments set by CanonPref on opening.

Note:   changes  to the options may not take place immediatly!!!!
The  options  take  place with the next send aRIN or aRIS command.
You  can send an aRIN command by using Initprinter or flushing the
driver  out  of  memory  (WShell  users may use "Flush"; Commodore
users  may  use the "Stack 40000000" command in order to do this).
CanonPref  automatically flushes the driver out of memory for you.
So  this  note  is  specialy  importent  for  CLI  users not using
CanonPref.

CanonPref  can  be  controlled by the mouse and/or keyboard.  Each
gadget  of the main program corresponds to the underscored letter.
Pressing  that letter is equivalent to clicking on the gadget.  In
the  case  of  a cycle gadget, you can use the upper or lower case
letter  to  cycle  back  and  forth between them.  See your system
manual  on  how to control the file- and fontrequester by keyboard
or mouse.

All  windows  are opened directly under your mouse pointer, so you
don't  have  to  move or scroll the screen to control the program.
Also,  all  windows  are opened on the default public screen.  You
may  specify  a  special  public  screen  by setting the Tool Type
"PUBSCREEN=<screenname>"   (name   is  case  sensitive!)  and  the
CanonPref  program  will  open  it's  windows  on your application
programs  screen.   You  can  specify  a  screen from CLI with the
PUBSCREEN option:

                   CanonPref PUBSCREEN <screenname>

For  instance,  if you use the ASDG text editor "CygnusEd" you may
specify  "CanonPref  PUBSCREEN CygnusEdScreen1" and CanonPref will
open  up  its  windows on the CEDPro screen.  Make sure the CEDPro
screen is public before running the example.

After  starting,  the  main  window  will contain several gadgets,
described  in  detail.  All those gadgets represent an environment
variable  which  can  also  be  controlled  using  the  CLI setenv
command.   I strongly recommend using CanonPref because it is user
friendly and more secure.

CanonPref  is  font  independent.   It  uses  any  system font for
displaying  the  gadgets  and windows.  You can force CanonPref to
use  the  topaz 8 font under any circumstand by defining a "TOPAZ"
Tool Type.  This is equal to using a "TOPAZ" CLI argument.

Handling  CanonPref  is not described in this readme file.  I feel
there is simply nothing to describe.  This program is very easy to
handle  and  to  understand.  In case you have problems, read your
system  manuals.  These manuals cover nearly every aspect required
to  control  the  CanonPref  program.  There are some basic things
about  this driver, that should be explained in extra chapters and
subsections.  These chapters/subsection will now follow...






                       The basics of printing
                       ----------------------

This  chapter  describes the basic things needed for understanding
the  way  this  driver  works.   There  are  several main steps in
processing a color picture for printing.  Let's have a look at the
processing steps:


                              Picture

                                ||
                                \/

                          Color Adjustment

                                ||
                                \/

                          Ink compensation

                                ||
                                \/

                             UCR / GCR

                                ||
                                \/

                             Dithering

                                ||
                                \/

                              Printer



Each step will now be described in an extra subsection:



I.


                         Color Adjustment
                         ----------------

Most  Amiga  drivers  simply  use  a  linear tone scale adjustment
function for every picture.  This means the amount of printed dots
on your printer is directly proportional to the tone scale of your
picture.   The  brightness  of  printed  picture  using  a  linear
adjustment  function  is often not satisfying.  There are two main
reasons for this:

-  the tone scales shown on your monitor are not linear.  For
instance,  the  difference  between two neighboring dark greyscale
levels is not as big as between to brighter levels.

- the Canon BJ printers have a precise printerhead movement.  This
gives  you  the possibility to print 360 dots per inch (dpi).  But
there  is  one  drawback,  which most printers have:  a 1/360 inch
huge  dot  can  not  be  printed.  The dot is a bit greater, which
causes the dots to overlap each other.  This causes a dark printed
picture and a loss of contrast.

To  compensate  these affects, the CanonBJ-EC driver allows you to
customize  and adjust the tone scale adjustment function.  You can
also  do  some art work (for instance pseudo colors) by using this
function.

The  Amiga  printer.device  supports up to 16 color levels.  These
levels  are  represented  by  values  from  0 (no ink of black for
greyscale  pictures)  to  255  (full  ink  or  white for greyscale
pictures).  Now let's have a look at the default linear conversion
function:



  full ink or|white                        230
             |                           214        
          208| <- <- <- <- <- <- <- <- 208
O            |                       192^
             |                     176  |
U            |                   160
             |                 144      ^
T            |                128       |
             |              112
P            |            96            ^
             |          80              |
U            |        64
             |      48                  ^
T            |    32                    |
             |  16
 no ink/black|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
        no ink/black                   208 full ink or white


                       I N P U T



As  you  can  easily  see,  every  tone  level is unchanged by the
adjustment  function.   For instance, a value of 208 is unchanged.
Now  we  could  simply  increase  the brightness of the output, by
simply adding 16 to each value:


       bright|
             |                           214+230        
          214| <- <- <- <- <- <- <- <- 208
O            |                       192^
             |                     176  |
U            |                   160
             |                  144     ^
T            |                128       |
             |              112
P            |            96            ^
             |          80              |
U            |        64
             |      48                  ^
T            |    32                    |
             |  16
             |0                         ^
 no ink/black|                          |
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
          no ink/black                 208 full ink or white

                       I N P U T

Now  the  value  of  208  would be printed as 214.  A drawback for
brightening  up a picture this way is the value 214 and 230.  Both
levels  would  be  printed  with the same value of 230 which means
white.   A  better  method  to  brighten  up  a picture is a gamma
correction  function.   The  "gamma"  function  provides  a way to
significantly brighten an image without losing much detail.

You can control gamma correction, brightness and contrast by using
the sliders at the left side of the color adjustment window of the
CanonPref program. Adjust them and press the "Set" buttom.

You can also individually adjust each of the 16 color sliders
instead.

Using the color adjustment function, you are also able to
filter out parts of a picture with a special color. Just try and
I'm sure you'll be satisfied.

IMPORTANT:   while  each  of the 16 sliders can be adjusted to 256
shades, it depends on the used dither routines wether you are able
to  print  256  shades or not.  Please, have a look at the "dither
routines"   subsection   for  more  information.   The  number  of
printable  colors  depends  on  the colors supported by the dither
matrix.   Normal  Workbench printer drivers only support 16 shades
for each color (16*16*16 = max. 4096 colors).

To  make  sure  your  color  adjustment and dither routines do not
result  in  a  loss  of colors, print the supplied "TEST.PIC" from
your  usual  application  program.  Each color component should be
printed with 16 distinguishable color shades.




II.


                         Ink compensation
                         ----------------

This  driver  also  offers  the user complete control over its ink
compensation  function.   Printer's  inks  are not completely pure
materials.  For example, there is some amount of yellow mixed into
the  magenta  ink.   And,  there  is  some amount of magenta which
unavoidably is found in the cyan ink.  The ink compensation values
will  correct for these impurities.  With Magenta Compensation you
define  the  amount  of  magenta in the cyan ink in percent.  With
Yellow Compensation you define the amount of yellow in the magenta
ink in percent.

In  general,  set  the  ink  compensation value of magenta 31% and
yellow to 40% for best results with Inkum Inks.

PS:   on  my  experience  15%  gives better violet shades with the
original  Canon  BJC800  inks, but again...  it's best you ask the
manufacturor of the ink for the right values.

NOTE:  The ink compensation function can be completely disabled by
turning  it  ``off''  using density 1 or 2 for printing (or define
0%)  You will notice that without the ink compensation function, a
blue sky will print as purple.  With the ink compensation function
set at 31%, blue skies are blue again.

CanonStudio,  ADPro  and TruePrint users should use density 1 or 2
for printing graphics.


III.

                             UCR/GCR
                             -------

UCR/GCR  is  used to replace colors with a black component, giving
you  better  greyshades  and  more  contrast.   You have no direct
control  over the UCR/GCR function of the printer driver.  Though,
using  the  black  component  of  the  color adjustment and dither
routines,  you  have  some  control  on the UCR/GCR function.  The
Halftone-B  matrices  are a nice examples of how to handle UCR/GCR
when developing a dither matrix.



IV.


                          Dither Routines
                          ---------------

Many  dithering  methods are supplied with the CanonBJ-EC package.
These are described below.  In each case a larger dither mask size
produces  a  print which can represent a wider range of colors but
will  produce  less  spatial  information  per unit area of paper.
Conversely,  a smaller dither mask size can reproduce fewer colors
(or  shades)  but more closely approximates the true resolution of
your printer.

Another  way  of  expressing  this  is  the following:  There is a
tradeoff  between printing ``lots'' of colors and printing in high
resolution.    Given  a  specific  printer  with  a  specific  DPI
capability,  asking  for  ``lots''  of colors means using a larger
dither  mask  size.   A  larger dither mask size cuts down on your
effective  resolution.  For instance, using a dither mask of 16*16
on  your 360dpi printer will result in 360/16 = 22.5 dpi with full
color information.

Note  that  this can work to your advantage when blowing a picture
up  in  size.  Blowing up a picture means that there are more dots
to  work  with  which  offsets  the loss in resolution caused by a
larger  dither mask size.  This added to the benefits to be had by
being  able  to  reproduce more colors (or shades) means that your
enlarged posters will look quite good.

Also note that many printers including most laser printers and dot
matrix  printers  have  considerable dot gain.  For example, a 360
DPI  laser printer does not actually print dots which are 1/360 of
an  inch  in  size.   Rather,  its dots will be much larger.  This
causes  some  dithers,  such  as  the  Floyd-Steinberg and Ordered
dithers,  to  produce  intensely  over-saturated  or muddy prints.
Other  dithers  such  as  the  two  halftone dithers overcome this
problem with low-end printers.

NOTE:   The  amount of printable colors is usualy directly related
to  the  size of the dither matrix.  The dither routines described
below  usualy  exists  in  several sizes.  You can distinguish the
dither  routines  by  their filenames.  For instance a filename of
"Halftone-A-4" means:  Halftone A dither routine, 4 shades.  While
"Halftone-A-256" means:  Halftone A dither routine, 256 shades.

NOTE:   The  dither routines can be completely disabled by turning
it ``off'' using density 1 or 2 for printing.  Also note, that the
custom  dither routines are only active when Workbench preferences
is set to "ordered" dither!!!!!!!!

ADPro,  CanonStudio  or  TruePrint users should use density 1 or 2
for printing graphics with ADPro.

To  make  sure  your  color  adjustment and dither routines do not
result  in  a  loss  of colors, print the supplied "TEST.PIC" from
your  usual  application  program.  Each color component should be
printed   with  16  distinguishable  color  shades.   We  strongly
recommend the use of a 64 color dither matrix.  This matrix allows
the driver to do ink compensation, color adjustment with nearly no
limitations.

Also,  if  you want to read more about dither routines and digital
halftoning, here is a very good book to go for:

Robert Ulichney
"Digital Halftoning"
MIT Press
ISBN 0-262-21009-6

The  book  is  easy  to  understand  and  does  come with lot's of
samples.   Most of the dither routines described below are handled
in  detail  in  this  book.   Surely one of the best books when it
comes to digital halftoning.


Now let's take a look at the supplied dither routines.


              Halftone-A - <number of colors>
              Halftone-B - <number of colors>


The  halftone  dithers  (Halftone-A  and Halftone-B) differ in how
they place a halftone matrix.

This  is the classical clustered halftone method used by most book
publishers.   To improve the dither output, the halftone matrix is
rotated  by  45 degree.  Halftone-A causes the halftone matrix for
each  of  the  primary colors to be centered about the same point.
This  means  that  the  primary  colors  will  overlap completely,
leaving  a  lot  of  white  paper  showing  through.   This may be
appropriate for some better dye sublimation type printers or other
color printers with good registration where the inks mix well.

Halftone-B,  on  the  other  hand, staggers the halftone matrix of
each  primary  color so that they do not overlap.  This is similar
in  concept  to traditional color offset printing.  Halftone-B may
produce better results on printers whose inks do not mix well, and
on printers with less than perfect registration.

The  halftone  dithers can produce some extremely good results and
compensate  for  the  dot  gain problems outlined above.  Try both
halftone  dithers  to  see which one is better for your particular
intention.

Also, in case you xerox your printing, using Halftone results in a
much better copy.

To  use  Halftone-B  is  somehow  different  to  the  other dither
matrices.   You  have  a  special  dither  matrix  for each color.
Because of this, each dither filename includes the abbreviation of
the  color  (C  =  cyan,  Y  =  yellow,  M = magenta, K = black or
greyscale).   In case you use Halftone-B you also have to increase
the  brightness  of  the  black  color  component by 50%.  Use the
bright+ gadget in the CanonPref program for increasing brightness.

Halftone-B is a nice example for the relationship between color
adjustment and dither routines. You have to consider both setting
up your driver.




            PrtDevice-Halftone-16
            PrtDevice-Ordered-16



This dither matrix is the one used by the printer devices
"Halftone" or "Ordered" dither.



                 Ordered-A - <number of colors>



The  ordered  dither produces a regular repeating pattern which is
often  used for printing computer graphics.  The ordered dither is
particularly  susceptible  to  over-saturation  due to dot gain in
high resolutions. Though, you surely get nice outputs in 180DPI.


                 Ordered-B - <number of colors>

This  dither  is  a mixture of a dispersed dither like Order and a
clustered  dither like Halftone.  The dither is specialy addressed
to  the  high  resolution  printers  with  dot gain problems.  For
instance,   if   you  print  a  picture  with  360*360  dpi  using
Ordered-Rect-B-64, you get a picture that seems to be printed with
180*180  dpi.   Now  while  graphics are printed emulating 180*180
dpi,  all  black  parts  of the picture are printed using 360*360.
Don't  be  confused,  the  printed  picture  is  still better than
a     picture     in     real    180*180dpi    resolution.     The
Ordered-Rectangular-B is specialy usefull for color DTP. You get
nice color pictures with fine high quality text.



            Spiral-Dot-Screen  - <number of colors>


A  wide  range  of  special  effects clustered dither matrices are
available  in  the  graphic  arts  industry  and  all  are  easily
simulated digitally.  Spiral-Dot is such a dither.

The spirol-dot dither is essentially half of the classical screen,
with   dark   squares  growing  to  fill  the  plane  without  the
laternating  light squares.  Spiral-Dot looks quiet similar to the
Halftone-A matrix 0 degree rotated.



            Horizontal  - <number of colors>
            Vertical    - <number of colors>
            FwdDiagonal - <number of colors>
            BckDiagonal - <number of colors>


A  wide  range  of  special  effects clustered dither matrices are
available  in  the  graphic  arts  industry  and  all  are  easily
simulated digitally.  The Line dithers are such dithers.

The  horizontal  (as  well  as  the vertical, forward diagonal and
backward  diagonal)  dither overcome much of the dot gain problems
that the Floyd and Ordered dithers have with inexpensive printers.
These  dithers  (especialy  the  diagonal dithers) are especialy
good for large printings.



                           SuperMode
                           ---------

SuperMode?   With  SuperMode  enabled, every color picture will be
printed  as  greyscale picture in case you select color instead of
greyscale  as  output  mode.   So,  what's  the difference between
SuperMode's  printed  greyscale pictures and normal greyscale mode
pictures?    In  SuperMode  it's  the  printer  drivers  task to
convert  color  data  into greyscale data.  While this can also be
done  by  the  printer  device  instead of the driver (like normal
Workbench    drivers    do),   the   CanonBJ-EC   printer   driver
color->greyscale  converting  routines are more precise and because
of  this  you  can  print  a 4096 color HAM picture with up to 256
greyshades  instead  of the normal 16 shades.  Again:  in case you
want  to  print  more than 16 shades (and that's what SuperMode is
all  about)  you  MUST  define a custom dither matrix in CanonPref
that allows to print more than 16 shades.

With   SuperMode   enabled  you  simply  print  from  your  normal
application  but instead of selecting Greyscale or B/W output mode
you select Color.  The Color->Greyscale conversion will be done by
the driver.




                     Environment Options
                     -------------------




You  can  set  options  for  the  driver by using the "setenv" CLI
command instead of the CanonPref program.  This command saves your
option  in  the  "ENV:"  directory  using a file.  See your system
manual  for  a  complete  description of the "setenv" and "getenv"
command.   The  driver  will  read in the arguments on opening the
printer  device.  In case you don't have enough memory, the driver
refuses to open.

Note:   reading  the  options does not always mean they take place
immediately.  So if you make changes by using "setenv", flush the
driver  out  of  memory in order to let the driver know about your
changes.  CanonPref will do this for you automatically.

Remember  that  environment  vars  (they  are stored in the "ENV:"
directory)  are  normaly  erased by booting.  If you don't want to
set  the  environment vars every time you boot, you can place them
in  "ENVARC:"  (Workbench  2.0/2.1)  or  assign  "ENV:"  to  a non
volatile  disk (KS 1.3).  Make sure you use the commodore "setenv"
command  to set the environment vars!  Under KS 2 (or higher), the
driver supports local and global environment vars!  Here is a list
of  the  possible options and their meaning.  As usual, everything
is case insensitve:

             SetEnv sbox_printer <0|1|2|3>  (Default: 0)

The  driver  supports  the  arXon  parallel switch box.  The arXon
switch  box is an external 1 to 3 centronics switch controlable by
software.   You  can  ask  the  driver  to automaticly switch to a
wanted  port  for  printing and switch back to the previously used
port after printing.  This enables you to use a scanner, digitizer
and  printer  from  your  Amigas centronics port without switching
between the devices "by hand".  Specify the wanted printer port in
"sbox_printer"  and the default port (which should be set up after
printing)  in  "sbox_active".   If  you specify 0 (default) as the
port, no switching will take place.

Note:   "sbox_active" MUST be specified before using the driver in
order  to  enable  the  "sbox_printer"  command.   This is because
"sbox_active"  is  used  to  determine  weather  a  switch  box is
installed or not.   Information  about  the  switch  box  can be
obtained from:

                          arXon GmbH
                      Assenheimer Str. 17
                      D-W-6000 Frankfurt
                            Germany
                    Tel:  (++49)-69-7896891
                    Fax:  (++49)-69-7896878


              SetEnv CanonBeep  0|1|2|3  (Default: 0)

If  the  printer device gets closed after a dump, you can tell the
driver to signal you the end of the print job.  This is especialy
usefull on huge graphic dumps which might require some time.  There
are  two  kinds  of signals.  You can cause a beep (CTRL-G) on the
printer, a DisplayBeep on the Amiga or both. When the printer is
set to CanonBJC mode, a printer beep is not possible and ignored.

                      0 = No Action (default)
                      1 = Printer beep (CTRL-G)
                      2 = DisplayBeep
                      3 = Printer beep + DisplayBeep

Note:    some   application   print   graphics  striped.   If  the
application  program closes the printer.device after every stripe,
you  will get a signal for each stripe.  So far, I havn't found an
application program with such bad behaviour.

                  SetEnv CanonResX <num>  (Default: 0 dots)

If  the preferences papersize is CUSTOM, this option allows you to
specify   the   horizontal  resolution  for  graphic  dumps.   For
instance,  if  you use Workbench 1.3, you can specify a resolution
of 2804 dots, which is equal to the DIN A4 size.  If you specify 0
(default)  as  resolution,  the  US-LETTER resolution of 2880 dots
will be used.  The allowed range for <num> is 0 to 65535 dots.

                  SetEnv CanonResY <num>  (Default: 0 dots)

If  the papersize is CUSTOM, this option allows you to specify the
vertical  size  of a page for graphic dumps.  For instance, if you
use Workbench 1.3, you can specify a resolution of 3950 (BJC mode:
4212) dots, which is equal to the DIN A4 size. Do not misinterpret
this  setting!  The CanonResY value is only used for grapihc dumps
and  does  not  necessarily mean, your picture will be of the size
you specified here.  Sometimes CanonResY is only used to calculate
the aspect of the final picture.

The  CanonResY  setting  is  not necessarily importent under Epson
mode,  though  under  CanonBJC  the  value  becomes  an  importent
meaning.  The printer must know the physical page size in CanonBJC
mode  to  print  graphics.  Under CanonBJC mode CanonResY reflects
the physical page size, not the maximum printable area of the page
(logical  page  size).  The maximum allowed size for CanonBJC mode
is  7920  dots.  A value of 0 is equal to 11 inch (3960 dots).  If
you  want  to  set  the  physical page size in Epson mode, see the
CanonForm description.

For   more   information   see   the  "Paper  Size"  and  CanonEmu
description.

                  SetEnv CanonTime <num>  (Default: 0 seconds)

In  case  huge  amounts  of  data  are  transfered to the printer,
rendering a picture by the device is much faster than the transfer
of  the  picture  to  the  printer.  A requester may appear on the
screen,   saying  "Printer  trouble...".   The  requester  appears
because  the  printer device thinks no data got transfered because
of  a hard- or software failure.  With "CanonTime" you can specify
a  timeout until the printer device brings up the error requester.
The  "CanonTime"  var is especialy usefull when printing multiple
pages  or downloading huge fonts, using the drivers automatic font
download abilty.  If you specify 0 (default) as timeout, a timeout
of  30  seconds  will  be  used.  A value from 1 to 999 seconds is
allowed.   Instead  of  defining  a huge timeout, there is another
solution  available:   use  the  "CMD"  program (see you Workbench
disk)  to  redirect  the parallel/serial output to a file on disk.
After  this, use the copy command or a printer spooler to copy the
file  to  "par:".   Using this technique, you can safely specify a
small number of seconds before a timeout.

                 SetEnv CanonType <num>  (Default: 0)

Specifies the typeface to be selected on aRIS, aRIN and aFNT0.  If
you  select 0 (default) as typeface, the internal typeface will be
selected.   If an external font cartridge is selected without font
cartridge  installation,  the  printer  is  set to offline and the
specified font indicator blinks.  At the time of this writing, the
typefaces in table below are supported by the CanonBJC800 printer.

 <num>                 Meaning
   0          printer default internal typeface
   1                    Roman
   2                 Sans Serif
   3                   Courier

<num> may be in range of 0 to 255. Because of this, you may set
any wanted type supported by your printers ESC-k-<num-1> command.

       SetEnv CanonTab <num1-32>  (Default: 9, 17, 25,...)

This  environment  let  you  customize  the  horizontal  tab stops
settings  of  your  printer.  This is usefull for printing program
listings  and  tables.   For instance:  you can change the default
tab stops settings:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890
        T       T       T       T       T       T


with 'Setenv CanonTab "3 6 9 12 15 18" '  to:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890
  T  T  T  T  T  T

Up  to 32 tab stops may be defined.  All tab stops above the limit
of   32   are  ignored.   All  previous  tabulators  are  cleared.
Horizontal  tabs  are  selected and stored internally in character
spaces, not inches.  Thus, any change in the character spacing can
change  the physical locations of horizontal tabs on the line, but
the  logical  positions remain unchanged.  With PS fonts, a column
is defined as the width of the current space character at ASCII 32
($20).

       SetEnv CanonPerf <0-form length-1>  (Default: 0 lines)

If CanonForm is set to ON, CanonPerf specifies the number of lines
that  the  printer skips at the end of each page.  This causes the
printer to skip the perforation between pages of continuous forms.
If  0  lines are specified, perforation skip will be disabled.  If
the specified CanonPerf value is greater than or equal to the form
length  (as  defined  in  the  WB  preferences  program), the skip
perforation  is  cancelled  and  the top and bottom margins become
inactive. This setting is not supported by the CanonBJC800 printer.


           SetEnv CanonForm  ON|OFF  (Default: OFF)

If  CanonForm  is  set to ON, page length (as set in preferences),
and perforation skip (defined by CanonPerf) will be defined by the
driver. 


           SetEnv CanonMirror  ON|OFF  (Default: OFF)

If set to on, graphics will be mirrored.  This is specialy usefull
if you want to print pictures intend for T-Shirt art.


           SetEnv CanonEmu  24|48|800  (Default: 24)

This driver supports up to 3 different emulations:

I.  if set to 24 (default), the printer driver will use the normal
Epson 24 pin graphic command as most Epson compatible printers do.
This  emulation  is  slow  and  does  have  some quailty problems,
because  360ydpi  graphics are printed in two passes causing "wet"
muddy  printings.   For  instance, this emulation may be used on a
BJ10ex, BJ20, BJ300 and BJ330 in Epson mode.

II.   if  set to 48, the driver supports additional 48 pin graphic
commands.   In  most  cases  these  48  pin commands (for instance
ESC-*-72...) are only supported by new 48 or 64 pin printers (like
the BJC800).  The commands offer a faster and better graphic dump,
because  48  pins  are  printed on each pass.  Also, line gaps are
creatly  reduced.   The  driver  will use the printers 48 pin mode
only  density 1,5 (180*360dpi) and 2,7 (360*360dpi).  On all other
density  settings  the  driver  behaves  like the 24 pin emulation
above.

III.   If  set  to  800,  the driver will print graphics using the
native  mode  of  the  BJC  8xx printer.  This setting is STRONGLY
recommended  for all BJC users.  This emulation (native mode) does
offer some special things:

Data  send  to  the  printer is compressed, resulting in much less
data.   The  time  saved  by  sending  less  data through the slow
centronics  port  may  be  huge.   So  it  decrease the print time
significantly (usualy 2-4 times compared to the 48 mode, which also
does some sort of compression).

In  the  800  mode the printer uses a "halfline" modus, causing no
gaps between printing lines to appear.

In  the  800  mode  you are also able to control the printers mode
through the driver using the CanonMode option.

In  the  800 emulation you have a smaller top margin, allowing you
to print in a bigger sized pictures.

In the 800 emulation, the printer must be set to a specific page
height by the driver. You are not able to print on endless paper.

                    !!!!!!   WARNING !!!!!
Beside  all  those  nice  things  from  the  800 mode, there is an
importent  drawback:   you are not allowed to print text after you
have  printed  graphics.   Also no text and graphics may appear on
the  same page.  So you can use the driver for normal text prints,
but  as  soon  as  you  have  dumped  a  graphic,  you must switch
emulation to print text or flush the driver out of memory by using
AVAIL  FLUSH  from  CLI/Shell (WShell users may simply use FLUSH).
This  limitation  shouldn't  be a huge problem for anybody, as you
can  switch  back  to  the  Epson 48 pin mode everytime you want.
This  mode  is  mainly for nice and fast graphic dumps and this is
what the BJC printers are build for.

Note:   CanonForm  is  automaticly  OFF in the 800 mode.  The page
size  may  be altered by using the CanonResX and CanonResY options
instead.   Also  a  "Beep"  as  job  end signal (see CanonBeep) is
ignored in 800 mode.



           SetEnv CanonColor  <color>  (Default: <color> = 0)

With CanonColor you may choose the default text color of the
printer.  Here are the allowed values:

<color>    BJC800 Color        Epson definition

0          Black               Black
1          Magenta             Magenta
2          Cyan                Cyan
3          Blue                Blue
4          Yellow              Yellow
5          Red                 Red
6          Green               Green


           SetEnv CanonMode <mode>  (Default: 0)

In 800 mode (see CanonEmu option), you can set the printer mode
with CanonMode.  Following options are allowed:

<mode>  Meaning
  0     printer default mode
  1     Mode A: Color 100%, Black 100% (two scan printing)
  2     Mode B: Color 100% (two scan), Black 200% (four scan)
  3     Mode C: Same as B
  4     Mode D: Color 100%, Black 100% (two scan with 8 sec delay)
  5     Mode E: Color 100%, Black 100% (single scan printing)

See  you  BJC  user  manual  on how to choose a mode for a special
purpose.




           SetEnv CanonSep  C|M|Y|K  (Default: CMYK)

With  this  option  you  can  print  a  CYMK  color component of a
picture.  For instance, if you want to print the cyan component of
a  picture,  set  CanonSep  to  "C".  The combination of following
keywords are allowed:

C = Cyan
M = Magenta
Y = Yellow
K = Black

Using CanonSep you can print color pictures on a b/w printer using
color ribbons/ink.  Here's what to do:

1. Get yourself a cyan, magenta, yellow and black color ribbon/ink.
2. Set CanonSep to C and start printing your color picture
3. reinsert the paper sheet with the printed graphics
4. Repeat step 2-3 with M,Y, and K

Because  of the adjustment problems caused by using the same sheet
of  paper  several  times,  you  shouldn't use the high resolution
360*360 dpi mode, or define a special dither matrix.





SetEnv CanonGAdj <num0-255>  (Default: 0,16,32,48,64,80,96,112,128,144,160,
                                         176,192,208,224,255)
SetEnv CanonKAdj <num0-255>  (Default: 0,16,32,48,64,80,96,112,128,144,160,
                                         176,192,208,224,255)
SetEnv CanonKAdj <num0-255>  (Default: 0,16,32,48,64,80,96,112,128,144,160,
                                         176,192,208,224,255)
SetEnv CanonCAdj <num0-255>  (Default: 0,16,32,48,64,80,96,112,128,144,160,
                                         176,192,208,224,255)
SetEnv CanonYAdj <num0-255>  (Default: 0,16,32,48,64,80,96,112,128,144,160,
                                         176,192,208,224,255)
SetEnv CanonMAdj <num0-255>  (Default: 0,16,32,48,64,80,96,112,128,144,160,
                                         176,192,208,224,255)

You  can  define various color adjustments for the graphic dump of
the  driver.  This allows you to make a picture brighter (which is
specialy  usefull  in  high  density  modes),  darker, increase or
decrease  contrast level, and do gamma correction.  Now using this
feature  is  easy,  understanding  might not.  Simply try it after
reading  the documentation!  You'll be extremly satisfied with the
results.   Also  note:  you can correct the colors of your picture
with  this  feature  and  in  conjunction with a customized dither
matrix  you  DON'T  LOOSE  ANY COLOR.  For instance, a 4096 can be
brighten  up  with  this  feature and you still get 4096 different
colors.

For general information see the "color adjustment" chapter!!!

You  must define exactly 16 values for Canon<color>Adj vars.  Each
value  must  be  in range from 0 to 255, were 0 means no color and
255  full color.  The order of the 16 values goes from "no ink" to
"full  ink".   For  example, you want to define following function
(which is the default linear color adjustment of the driver):


  full ink or|white                        230
             |                           214        
          208| <- <- <- <- <- <- <- <- 208
O            |                       192^
             |                     176  |
U            |                   160
             |                 144      ^
T            |                128       |
             |              112
P            |            96            ^
             |          80              |
U            |        64
             |      48                  ^
T            |    32                    |
             |  16
       no ink|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             no ink                   208 full ink or white


                       I N P U T


As  you can easily see, a value of 208 is printed by the driver as
208.   So  no  change.   To  define  this  linear color adjustment
conversion, you must enter in CLI:

 SetEnv CanonConv "0 16 32 48 64 80 96 112 128 144 160 176 192 208 214 230"

Next time you print graphics, the new adjustment function is used.
Defining  and  editing  a  greyscale conversion function using the
setenv  command  is  uncomfortable.  You can use the CanonPref for
editing and defining a function.  When finished with defining, you
can  get  the  values  set  in  CanonPref  by  using  the  "getenv
CanonPref" CLI command.

        SetEnv CanonGDit  <x-size> <y-size>  a11, a12, ..., amn
        SetEnv CanonKDit  <x-size> <y-size>  a11, a12, ..., amn
        SetEnv CanonCDit  <x-size> <y-size>  a11, a12, ..., amn
        SetEnv CanonYDit  <x-size> <y-size>  a11, a12, ..., amn
        SetEnv CanonMDit  <x-size> <y-size>  a11, a12, ..., amn

You  can  define a dither matrices.  It will replace the dispersed
ordered  dither  matrices  of  the  printer device.  To enable the
dither matrice you must print using the Workbench "ordered" dither
mode.  Also, all color dither matrices must be of same size.  It's
not  allowed  to define only one color dither matrix.  The allowed
<x-size>  and  <y-size> range must be between 1 and 64.  Also only
up to 512 matrix elements are allowed for each matrix.


           SetEnv CanonMagenta  <percent>  (Default: 0%)

This  driver  also  offers  the user complete control over its ink
compensation  function.   Printer's  inks  are not completely pure
materials.  For example, there is some amount of yellow mixed into
the  magenta  ink.   And,  there  is  some amount of magenta which
unavoidably is found in the cyan ink.  The ink compensation values
will  correct  for these impurities.  With CanonMagenta you define
the amount of magenta in the cyan ink in percent.

In  general,  set  this  ink  compensation  value  to 31% for best
results  with  Inkum  Inks.   The ink compensation function can be
completely disabled by turning it ``off'' using density 1 or 2 for
printing  (or  define  0%)  You  will  notice that without the ink
compensation  function, a blue sky will print as purple.  With the
ink compensation function set at 31%, blue skies are blue again.

PS:   on  my  experience  15%  gives better violet shades with the
original  Canon  BJC800  inks, but again...  it's best you ask the
manufacturor of the ink for the right values.


           SetEnv CanonYellow  <percent>  (Default: 0%)

This  driver  also  offers  the user complete control over its ink
compensation  function.   Printer's  inks  are not completely pure
materials.  For example, there is some amount of yellow mixed into
the  magenta  ink.   And,  there  is  some amount of magenta which
unavoidably is found in the cyan ink.  The ink compensation values
will  correct  for these impurities.  With CanonYellow you define
the amount of yellow in the magenta ink in percent.

In general, set this ink compensation value to 40% for Inkum Inks.
The  ink  compensation  function  can  be  completely  disabled by
turning  it  ``off''  using density 1 or 2 for printing (or define
0%)  You  will  notice that without the ink compensation function,
blood wouldn't be printed attractiv enough for vampires.  With the
ink  compensation  function  set at 40%, vampires will eat up your
dumps.


NOTE:  ADPro users should use density 1 or 2 for printing graphics
with  ADPro.   Density 1 and 2 will turn off the color adjustment,
ink compensation, and dither routines used by the driver.  Instead
the  ADPro  dither, ink compensation and color adjustment routines
will be used.

NOTE:   the  BJC800  printer  is a single page orientated printer.
Because  of this, a page height must be defined by the driver.  In
CanonBJC  mode  the  height  defined  is  the  one you have set in
preferences  (for  instance  DIN A4 or US Letter).  If preferences
page  sizes  don't  match you needs, use the CUSTOM paper size and
set  the ResY to the needed size (in n/360 dpi).  The maximum page
height  is  22 inch (or 55,8cm), which can also be used by setting
the paper type to FANFOLD.
