                          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:

22.07.91     Version 1.1
27.11.91     Version 1.2  Version for Commodore
             + set presentation highlight removed for BJ300/330 printers
09.12.91     Version 1.3  Further changes for the BJ300 made
20.04.92     Version 3.0  major update:
             + arXon support added       + new WB paper sizes added
             + I' accent fixed           + CanonBeep option added
             + CanonTime option added    + CanonResX option added
             + CanonConv option added    + CanonTab  option added
             + CanonPerf option added    + CanonTop  option added
             + CanonForm option added    + CanonFont option added
             + FontShop program added    + CanonPref program added
             + Report program added      + aTBCALL command fixed
             + Check for MemCpy() fixed  + MemCpy()/MemClr() improved
             + most text style commands changed
               for download font usage
01.06.92     Version 4
             - changes in the documentation
             - a small bug in MemCpy() fixed, causing chars to appear in
               dark graphics
             - misaligned slider in CanonPref fixed

                          Thanks to
                          ---------

Several  people were involved during the writing of the driver and
documentation.   To  all of them, thank you!  Also I would like to
thank  all  the people who registered the previous driver release.
Without  their  support  and  letters, this driver surely wouldn't
exist.  Keep on supporting the Amiga community!

                           Contents
                           --------

This  disk  contains  a printer driver for use with the Canon BJ10
,BJ10ex  and  BJ20  printers and Commodore Amiga computers.  Note,
there  are special driver version available for the BJ130,300,330,
LBP and BJC printers!

The following files are included on the disk:

"CanonBJ10" -  The printer driver revision 3
"FontShop"  -  A KS 2.0 (or higher) font download program
"CanonPref" -  A KS 2.0 (or higher) driver preferences program
"Install"   -  Workbench install program for the CanonBJ10 driver
"Report"    -  A report program telling your preferences/driver settings
"Readme"    -  The documentation file (and/or printed manual)

               Highlights of the CanonBJ10 driver
               ----------------------------------

- automatic font download to the printer
- builtin support for the arXon electronic centronic switch box
- very fast graphic dumps
- automaticly uses improved code for 68020/30 processors if available
- fully supports WB 1.3, 2.0 and 2.1(!)
- all margins are definable
- paper size is freely definable
- comes with an extra KS 2.0 preferences program for controlling the driver
- install program supplied
- font download program
- full documentation (should be normal, but it's not!)
- free definable tab stops
- free definable greyscale conversion
- job end signal

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

The  CanonBJ  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 and
FontShop program was designed to run under Workbench 2.0 and 2.1.

The  CanonBJ10 driver was designed for the Canon BJ10e, BJ10ex and
BJ20 printers.




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

1. Setup  and connect your BJ-10 as described in the BJ-10 Users
   Manual.
2. Set the printers DIP Switches as follows:

   Switch         Function                 Setting
  
    1       Auto Sheet Feeder            As Appropriate
    2       Graphics image density       As Appropriate
    3       Automatic Line Feed          OFF
    4       Page length                  On Europe/Australia / OFF USA
    5       Character Set                ON
    6       Automatic carriage return    OFF
    7       Alternat graphics mode       OFF
    8       buffer/download memory       OFF (for font download: ON!)
    9       Code page                    OFF
   10       Printer control mode         ON
  
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.
   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.
   If you are a CLI user, simply copy the driver into your
   "devs:printers" directory
6. Start Preferences on your system disk (if you own Kickstart
   2.0 use the printer preference program). Select the CanonBJ10
   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 FontShop and CanonPref 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 CanonPref program if you are using Workbench 2.0 (or
   higher). Adjust all parameters to your wanted environment.

Note:   the  install  program  will erase any previously installed
CanonBJ10  drivers  without  asking  you  so.   Also note that the
Commodore  CanonBJ10 driver is a subset of this driver and because
of  this,  you  get  all the functions of the Commodore driver and
even more.




                      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:

Density   X-DPI    Y-DPI   X*Y-DPI
   1       360     360     129600
   2       180     180      32400
   3       120     360      43200
   4       180     360      64800
   5       240     360      86400
   6       360     180      64800
   7       360     360     129600

The  desired density can be selected in Preferences or in case you
use  Workbench  2.0  "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.  Anyway, DIN A4 users may select the Letter
paper  size  instead  of  DIN  A4  to print a DIN A4 letter (2804
dots wide) in the highest resolution (2880 dots wide).

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.

Note:   if  an  aRIN  (initialize) or an aRIS (reset) command gets
sent,  the  printer  will  eject  the  printed  page  even if your
PaperType  is  FANFOLD.  Also note, aRIN is automaticly sent after
loading the driver into memory the first time.







                     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
aSGR4            ESC[4m         underline on           ISO
aSGR24           ESC[24m        underline off          ISO
aSGR1            ESC[1m         boldface on            ISO
aSGR22           ESC[22m        boldface off           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: Line Printer   DEC
aPROP2           ESC[2p       proportional on         Amiga
aPROP1           ESC[1p       proportional off        Amiga
aVERP0           ESC[0z      1/8" line spacing        Amiga
aVERP1           ESC[1z      1/6" line spacing        Amiga
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 CanonBJ10
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  option 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 immeadiatly!!!!
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.

Job End:              No Signal (default)
                      Beep
                      Flash
                      Beep&Flash

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

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

Port:                 Disabled (default)
                      Port 1
                      Port 2
                      Port 3

The  CanonBJ10 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 CanonBJ10 driver to
automatically 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 Amiga's 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  whether  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

Custom Res-X:         0-65535 dots (default 0)

If   the   selected   papersize  in  preferences  (Workbench  2.0:
"Printer")  is  CUSTOM,  this  option  allows  you  to specify the
horizontal  resolution of the printed paper.  For instance, if you
use  Workbench  1.3,  you can specify a X-resolution of 2804 dots,
which  is equal to the DIN A4 size.  If you specify 0 (default) as
X-resolution,  the US-LETTER resolution of 2880 dots will be used.
The allowed range is 0 to 65535 dots.

Top Margin:           1 - <page length-1>  (default 1)

If  "Enable  Form"  is  set  to  ON  (checkmark  on), "Top Margin"
specifies  the  top  margin  in lines.  The top margin defines the
vertical distance between the top of the page and the base line of
the first line on the page.  When the cut sheet paper loading mode
(MAN,  SF1,  or  SF2) is selected, this command is ignored.  Using
this  option together with the preference settings for left, right
margin  and  page  length,  you  are  totaly  free in defining the
margins of a page.

Enable Form:          not checked (default)
                      checked

If  "Enable Form" is set to ON (checkmark on), page length (as set
in preferences), top margin (defined by CanonTop), and perforation
skip  (defined  by CanonPerf) will be defined by the driver.  Some
applications  require  a  well  defined paper size and margins for
printing   forms.    The   CanonBJ10   driver  provides  you  such
possibilities!

Perforation Skip:     0 - (form length-1)  (Default: 0 lines)

If  "Enable  Form" is set to ON (checkmark on), "Perforation Skip"
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.

Font Download:         checked (default)
                       not checked

If  you  set  this  option (checkmark on), the printer driver will
automatically  download  fonts  created  by  you  or  the FontShop
program.   In  case  you  don't need the download feature, you can
disable this feature without deleting or moving the font files.

Paper Length:

This  is a read only gadget showing the paper length as defined in
Workbench  preferences.   You  can  use  the  value  to  set  your
perforation  skip and top margin value.  Changes made to the paper
length  preferences  are  automatically  detected by the CanonPref
program  and  the  gadget  is updated immeadiately without exiting
CanonPref.

Timeout:               1 - 999 (default 30)

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.  If this happens, 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.  In reality your printer
was busy with feeding a new paper.  With CanonTime you can specify
a timeout before the printer device brings up the error requester.
The  CanonTime  var  is  especially usefull when printing multiple
pages  or  downloading huge fonts using the drivers automatic font
download abilty.  A value of 1 to 999 seconds is allowed.  Setting
a  high  timeout  value  also  has it's drawbacks:  in case a real
error  appears,  you  also  have to wait the given time before you
really can cancel the print job.

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
amount of seconds before a timeout.

Customize Tabs...:

The  ellipsis  (three  dots)  in  this gadget means, that an extra
window will be opened when you select this gadget.  The gadgets of
the  upcoming  window  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+

to:

         1         2         3         4         5
12345678901234567890123456789012345678901234567890...
---T+-T--T--T-+T--T+-T--T--T-+T--T+-T--T--T-+T--T+

Up  to 28 tab stops may be defined.  All tab stops above the limit
of  28  are  ignored and a requester will tell you so.  Horizontal
tabs  are  selected and stored by the printer 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).

You can set/unset a tab stop by simply clicking into the gadget at
the  wanted  position.  A "T" is used for a tab stop.  The "-" and
"+"  chars  are  used  for  helping  you  in  finding  the correct
position.   Using  the  slider below the gadget you can scroll the
"tab  stops"  gadgets to a wanted position.  With "Clear Tabs" you
can  clear  all  tab stops.  With the "n:" and "Set every n chars"
gadgets,  you  can  easily  set  tab stops with the same distance.
Simply  enter  the  distance  into the "n:" gadget and select "Set
every n chars".  Note:  the printer driver uses a default distance
of  8.   If you want to reset you customized tabs stop settings to
the  printer  default  values, simply call "Customize Tabs..." and
the  window  will come up with a default "n:" value of "8".  Press
"Set every n chars" to get the default values.

You  can  leave  the  window  with  the  "Use" or "Cancel" gadget.
Changes  made  to  the tab stops settings are accepted with "Use".
"Cancel"  leaves the tab stops unchanged and any changes made will
be  lost.   Note:   "Use"  does  not save the changes made to your
environment.   This is done by using the "Use" or "Save" gadget in
the main window.

Greyscale Conv...:

The  ellipsis  (three  dots)  in  this gadget means, that an extra
window will be opened when you select this gadget.  The gadgets of
the  upcoming  window  let  you customize the greyscale conversion
function of the printer driver.

You  can define various greyscale conversions for the graphic dump
of  the driver.  This allows you to make a picture brighter (which
is  specially  usefull in high density modes), darker, increase or
decrease   contrast  level.   Now  using  this  feature  is  easy,
understanding  it might not.  So let's try to describe some things
and  after  reading  it twice, simply try it!  You'll be extremely
satisfied with the results....

For more information see the "greyscale conversion" chapter first!

The  "Greyscale  Conversion"  window  contains  16  sliders.  Each
slider represents a value between 0 and 15, were 0 means black and
15  white.   The  order  of  the  16 sliders goes from black (left
bottom)  to  white  (right  upper  side).   For example, following
function (which is the default linear conversion of the driver) is
shown by the sliders:



       bright|                             15
             |                           14        
           13| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
         dark|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright


                       I N P U T


As  you  can easily see, a greyscale value of 13 is printed by the
driver  as  greyscale  value of 13.  So no change.  To define this
linear  greyscale  conversion, you can also click on the "default"
gadget  in  the  lower right side of the window.  "Invert" inverts
every  slider  setting  resulting  in  a printed "negativ" of your
picture.  "gamma +" sets the 16 slider to a value defining a gamma
corretion  function.   The  "gamma" conversion function provides a
way to significantly brighten an image without losing much detail.
"Gamma  -"  is  the  opposite of "gamma +" and results in a darker
printout.  By repeatidly clicking on the "Bright" gadgets, you can
make your printout darker ("Bright -") or brighter ("bright +").

You  can  leave  the  window  with  the  "Use" or "Cancel" gadget.
Changes  made  to the conversion function are accepted with "Use".
"Cancel"  leaves the conversion function unchanged and any changes
made will be lost.  Note:  "Use" does not save the changes made to
your  environment.   This  is  done  by  using the "Use" or "Save"
gadget in the main window.

Cancel:

You  may  leave  the CanonPref program by clicking on the "Cancel"
gadget.  Changes made to the settings will not be saved.

Use:

You  may  leave  the  CanonPref  program  by clicking on the "Use"
gadget.   Changes  made  to the settings will be saved to the ENV:
directory.   Note:   on normal Workbench 2.0/2.1 environments, all
vars  in  the ENV:  directory are temporary and will be erased the
next  time  you  boot  the  machine.  In case you want to make the
settings permanent, use the "Save" gadget.

Save:

You  may  leave  the  CanonPref  program by clicking on the "Save"
gadget.   Changes  made  to  the  settings  will  be  saved to the
ENVARC: and ENV: directory for permanent and temporary use.








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

You can set options for the CanonBJ10 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
immeadiately.  So if you make changes by using "setenv", flush the
driver  out  of  memory  or  run "Initprinter" 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  CanonBJ  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  CanonBJ 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.

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

If  the  printer device gets closed after a dump, you can tell the
CanonBJ10  driver to signal you the end of the print job.  This is
especially  usefull  on huge graphic dumps wich 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.

                      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 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 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 especially 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 CanonConv <num0-15>  (Default: 0,1,2,3,4,5,6,7,8,9,10,
                                                11,12,13,14,15)

You  can define various greyscale conversions 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....

For general information see the "greyscale conversion" chapter!!!

You  must  define exactly 16 greyscale values for CanonConv.  Each
value  must  be  in  range from 0 to 15, were 0 means black and 15
white.   The order of the 16 values goes from black to white.  For
example,  you  want  to  define  following  function (which is the
default linear conversion of the driver):



       bright|                             15
             |                           14        
           13| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
         dark|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright


                       I N P U T


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

  SetEnv CanonConv "0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15"

Next time you print graphics, the new conversion 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 CanonTab <num1-28>  (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 28 tab stops may be defined.  All tab stops above the limit
of   28   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.

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

If CanonForm is set to ON, CanonTop specifies the top margin.  The
top  margin  defines  the vertical distance between the top of the
page  and  the  base line of the first line on the page.  When the
cut  sheet paper loading mode (MAN, SF1, or SF2) is selected, this
command is ignored.

           SetEnv CanonForm  ON|OFF  (Default: OFF)

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

                 SetEnv CanonFont ON|OFF  (Default: ON)

Using this switch, you can enable or disable font download without
actually  deleting the download fonts in your ENV:  and/or ENVARC:
directory.   Set  this var to "OFF" if you don't want any fonts to
be downloaded.

            SetEnv CanonFontDat <fontfilename>  (Default: not used)

If you generate fonts with the FontShop program for automatic font
download,  the  fonts  will  be  saved in the ENV:  and, if "Prefs
(save)" was selected, ENVARC:  directory.








                        BJ10-FontShop
                        -------------

The  FontShop  program  allows  you to generate and download fonts
from   your  Amiga  to  the  BJ printer.  As a font source it uses
standard  Amiga  fonts.   In  case  you  use  a  font  with a high
resolution  (ie. size)  you  can get the best print quality out of
your printer using an unlimited pool of fonts.

FontShop 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),  you  may generate download font files on a Workbench
2.0/2.1 machine and copy them.

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

Each  window  is 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
FontShop  program  will  open  it's  windows  on  your application
programs  screen.   You  can  specify  a  screen from CLI with the
"PUBSCREEN" option:

                 FontShop PUBSCREEN <screenname>

For  instance,  if  you use the ASDG texteditor "CygnusEd" you may
specify  "FontShop  PUBSCREEN  CygnusEdScreen1"  and FontShop 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 show up containing several
gadgets  described  later  in detail.  With "Select a font..." you
can  invoke  the  system  font  requester  and  choose  a font for
download.   The  printer can fully understand all fonts with up to
48  dots.   If you don't have such a huge font available, simply
enter  the 48 point size into the gadget and the system will scale
a  font,  so  that it fits 48 points.  A font size of 48 points is
recommended  for  the  best  output quality.  If you choose a font
greater  than 48 point, several or all character will be cut of at
the  bottom  (only  the  48  upper  rows will be printed).  If you
select  a font size with a baseline of 48, you may fully print all
upper  case  characters  in huge size (for instance 8 CPI).  After
selecting the font you get back to the main window with "OK".  Now
you  can  download  the  font  to  the  printer by clicking on the
"Download"  gadget.

NOTE:   MAKE  SURE  YOUR  PRINTER DIP SWITCHES ARE SETUP RIGHT FOR
DOWNLOAD   FONTS   (see   the   "Installation"  chapter  for  more
information).

There  are several things you can alter in the main window.  These
are in most cases only for experienced users and will be discussed
in the following list of possibilities:

Fonts:

This  is  a  readonly  field  and shows you the currently selected
font.

CPI:

This  is  a  readonly  field and shows you the characters per inch
(cpi)  of  the  selected  font.   The  cpi  number depends on your
selected  font, font width, InterSpace and font mode (Proportional
or Mono Spaced characters.

"Select a font...":

This  gadget  will  bring up the systems font requester.  Select a
wanted  font  and  style  (underlined,  italics, bold, invers) for
download.   Note:  the printers normal font height is 48 dots (and
36  dots wide).  You may download a smaller or greater font, but a
font greater 48 dots will most likely be cut of at the bottom.  In
case  you  only  want  to  use  the  upper  case  characters  of a
downloaded  font,  you  may use a font heigher than 48 dots with a
baseline of up to 48 dots.  If all upper case characters are above
the  baseline,  everything  should  work  fine and you get "super"
characters.   The  default baseline of a selected font is shown in
the "Baseline" gadget after selecting a font.

There  are  several  commercial and public domain font collections
available,  offering  you huge 48 dots high fonts in high quality.
Also,   you   may   use   Intellifonts  (CompuGraphic)  from  Agfa
Corporation  if you have installed the right diskfont library (see
your   Kickstart   2  manual  for  more  information).   Over  250
Intellifonts  are  available offering you a high quality output at
variable  sizes  and  styles.   For information about Intellifonts
write to:

            Intellifont Scaleable Typefaces
            Agfa Corporation
            90 industrial Way
            Wilmington, MA 01887
            USA
            Tel: (508) 658-5600 ext. 2311

Also,  if  you  want  to  make  your  own  download chars or alter
existing  fonts,  there  are  several  nice  and  easy to use font
editors  available  on  the  amiga (public domain and commercial).
Ask your dealer for it!

-->To:

This  is  a  cycle gadget.  If "Prefs (Use)" is selected, the font
gets  downloaded  directly to ENV:  directory.  The printer driver
will  download  the  saved  font the next time you send an aRIN or
aRIS command.  If you want to save the font permanently instead of
temporarily,  use  "Prefs (Save)".  This will save the font in the
non  volatile  ENVARC:  directory.  You may also download the font
directly  to  a  file for late use by selecting "File".  Such font
files  can  be quickly downloaded from your application program or
batch  file  in  huge  quantities.   If "File" is selected and the
download  gets  started,  a  file  requester  will  ask  you for a
filename.   Note:   the  font  files  must be copied to "par:" not
"prt:"!

Space Mode:

This is a cycle gadget.  You may download a font to the printer in
a  fixed  width (Mono Space) given in the "Char Width" gadget.  Or
you may download the font with proportional spaced chars.  You may
define a special space (InterSpace) between two proportional chars
given you a lighter font impression.
Note,  the  given  mode reflects the downloaded font mode, not the
Amiga  font  mode.   You  may download a mono spaced Amiga font as
proportional  printer  font  (ie.   kerning is used).  Even if the
downloaded  font is mono spaced, the printer regards the font as a
proportional  spaced font (even though it isn't).  After selecting
a  new  font with "Select a font..." this gadget is altered to the
mode of the new selected font.

Char Width:

This integer gadget can only be activated, if "Mono Space" mode is
active.   With  this  gadget  you  may  define  the  width  of all
characters  in dots.  After selecting a new font, the value of the
gadget  will be set to the default width of the selected font.  In
case  you  selected  a  proportional font, the gadget reflects the
width of the widest character of that proportional font.

InterSpace:

This  integer gadget can only be activated, if "Proportional" mode
is  active.   With this gadget you may define a microspace between
downloaded proportional spaced characters.

Baseline:

With  this  integer  gadget you specify the number of dots between
the  baseline and the top border.  After selecting a new font, the
Baseline  will automatically be set to the system baseline of that
font.

                     "T" char        next "T" char      
                  ----------------  --------- \
                  |  ----------  |  |  ----   |
                  |      |       |  |         |
                  |      |       |  |         |
                  |      |       |  |         |
                  |      |       |  |         |
                  |      |       |  |         |
                  |      |       |  |         |
                  |      |       |  |          \
                  |      |       |  |          /  font size
                  |      |       |  |         |
                  |      |       |  |         |
       Baseline-> |- - -  - - - -|  |         |
                  |              |  |         |
                  |              |  |         |
                  |              |  |         |
                  |              |  |         |
                  ----------------  ---       /
                  \_____  _______/ ^
                        \/         |
                      width        ------ InterSpace


Download:

After  clicking on this gadget, the download gets started.  Please
be patient, the download may take some time.  During download, all
gadgets are ghosted.

Quit:

Clicking  on  this  gadget  (or  the CloseWindow gadget) quits the
program.


Now some general things about the BJ10-FontShop you should take
care of:

FontShop  supports accents.  Though, some accents are generated by
combining  two  chars  (for instance  = o + /).  When downloading
such  chars  in a small size and proportional mode, there might be
some  small  misalignments  (for instance causing a o/ instead of
).   You  can  avoid  such  problems by altering the size of that
special chars or downloading the font in mono space mode.

While  the amiga has a huge font table, the BJ10 is not capable of
holding  that  much  download  characters  in  its printer memory.
Because  of  this,  only  "usual" characters get downloaded to the
printer  and  others not.  The view not downloaded characters will
be printed in the normal resident font of the printer.

The  program  assumes  you  have  32KB Ram of download RAM in your
printer.   If you select a huge font, this RAM might not be enough
causing  some  char  definitions  to  be  ignored  by  the printer
(accents  are the first chars wich get lost in this case, so check
for them if you really need them!)








                     Greyscale Conversion
                     --------------------

While your Amiga is able to show color and greyscale pictures on a
monitor,  there  is  no way to reproduce those picture on a black
and  white  printer  like  the  Canon  BJ10.   In  order  to print
color/greyscale  pictures  the  printer driver converts colors and
greyscales  to  an  array  of simple b/w dots.  The greyscales and
colors  are  hereby simulated by using a 4 by 4 dither array.  The
main  process  of  this  function  is  done  by  a function called
"greyscale conversion".  This function takes a greyscale value and
translate  it to a value wich is finaly used to print the original
greyscale value.  The greyscale conversion makes sure, the printed
greyscale  matches the greyscale shown on your Amiga monitor most.

Because every printer and picture is different, you need a special
conversion  function  for  every  printer and picture.  Most Amiga
drivers  simply use a linear conversion function for every
picture. This means the amount of printed dots on your printer is
directly proportional to the greyscale level of your picture.
The  brightness  of  printed  picture  using  a  linear  greyscale
conversion is often not satisfying. There are two main reasons
this:

-  the greyscale levels 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 CanonBJ10 driver allows you to
customize  and  adjust the greyscale conversion function.  You can
also  do  some art work (for instance pseudo colors) by using this
function.

The Amiga printer.device supports up to 16 greyscale levels. These
levels are represented by values from 0 (black) to 15 (white). Now
let's have a look at the default linear conversion function:



       bright|                             15
             |                           14        
           13| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
         dark|0                         ^
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright


                       I N P U T


As  you  can easily see, every greyscale level is unchanged by the
greyscale  conversion  function.   For  instance, a value of 13 is
unchanged.   Now  we  could  simply increase the brightness of the
output, by simply adding 1 to each value:


       bright|
             |                           1415        
           14| <- <- <- <- <- <- <- <- 13
O            |                       12 ^
             |                     11   |
U            |                   10
             |                  9       ^
T            |                8         |
             |              7
P            |            6             ^
             |          5               |
U            |        4
             |      3                   ^
T            |    2                     |
             |  1
             |0                         ^
         dark|                          |
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                      13  bright

                       I N P U T

Now  the greyscale value of 13 would be printed as 14.  A drawback
for  brighten  up a picture this way is the greyscale value 14 and
15.   Both levels would be printed with the same value of 15 which
means  white.  A better method to brighten up a picture is kind of
gamma   correction  function.   The  "gamma"  conversion  function
provides  a  way to significantly brighten an image without losing
much detail:


       bright|
             |                             15        
             |                           14
             |                         13
O            |                       12
             |                   1011
U            |                  9 
             |                8
T            |              7
             |          5 6
P            |        4
             |      3
U            |    2
             |
T            |  1
             |  
         dark|0
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                         bright

                       I N P U T

As you can see, there is no detail lost because several levels got
totaly  black or white.  Though, some levels are printed using the
same  value.   You  can alter this function to brighten up your
picture even more.  Just try...
There  is  a  gadget for the above shown function in the CanonPref
program  called  "gamma +".  Simply click on the gadget to get the
function above and if you like, alter the function afterwoods.

You  can  make  a  darker  picture  the same way you brighten up a
picture.  Simply lower the levels instead of increasing them.

Now  there  is  even  more you can control by using the conversion
function.   For instance you can increase or decrease the contrast
of the printed picture. For increasing the contrast, you must
increase the steepness of the conversion function for instance
like this:


       bright|
             |                     15
             |                     14
             |                   13
O            |                   12
             |                 11
U            |                 10 
             |                9
T            |                8
             |              7
P            |              6
             |            5
U            |            4
             |          3
T            |          2
             |        1
         dark|        0
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                         bright

                       I N P U T

To decrease the contrast, simply make the function more flat:

       bright|
             |
O            |
             |
U            |
             |                           1415
T            |                       1213
             |                   1011
P            |                8 9
             |            6 7 
U            |        4 5
             |    2 3
T            |0 1
             |
             |
             |
         dark|
             --+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-
             dark                         bright

                       I N P U T

Using the greyscale conversion 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.







                     Hints & Trouble Shooting
                     ------------------------

*  In  case  of stripes and empty lines check your printer margins
(DIP  switches,  preferences  setting, settings within the program
you  use,...).   Also  make  sure  your  computer does have enough
memory.   Specialy Art Department (TM) Professional 2 users should
use  the  "MAXMEM"  option to make sure the driver does get enough
memory  for  printing  or  ADPro  will simply print trash or empty
lines.   About  100  kb  memory  should  be available before start
printing!

*  Data  should  be  sent  to the printer only via parallel.device
(par:)  or printer.device (prt:) and not both together as this may
confuse the printer.

*  In  case  you  found  a  problem with the driver, please send a
description  which makes it possible to reproduce the problem.  For
this purpose, you should provide following information:

-  The disk contains a Report program. Allways include the
   output of this program.
-  Which application program are you using and which version?
-  Which Workbench revision are you using?
-  Include a dump of the program as file (use the CMD program from
   the Workbench disk for this) and in printed form.
-  In case of problems with the FontShop program, also include
   the font.
-  and if possible: provide a copy of your used Workbench
   disk/application ready set up for printing

*  If  you  are  interested  in  buying  AmigaTeX from Radical Eye
Software, you should buy the dvipref AmigaTeX driver.  This driver
also needs the 360*360 fonts which come with the dvip6 driver.

*  FontShop  supports accents.  Though, some accents are generated
by combining two chars (for instance  = o + /).  When downloading
such  chars  in a small size and proportional mode, there might be
some  small  misalignements  (for instance causing a o/ instead of
).   You  can  avoid  such  problems by altering the size of that
special chars or downloading the font in mono space mode.

* Downloaded fonts are not printed?  Check you dip switch setting
(see the "installation" chapter)!

*  Unable  to start FontShop and CanonPref?  Make sure you have at
least Kickstart 2.04 and Workbench 2.04 installed right.

*  Unable  to print?  Check you printer cable!  Also make sure the
CanonBJ10 driver is selected in the Workbench preferences program!

*  Printer  doesn't  work  under  Kickstart  2.04  while Kickstart
1.2/1.3  works  fine?  Check your printer cables "online" and "out
of  paper"  lines!  Make sure they are connected right.  Also if a
device is connected to your serial port:  try after removing it!

*  Paper  sheets  are  ejected and you don't want them to be
ejected?  Check your Workbench "paper type" preferences.  Note:
the aRIN and aRIS command eject a "used" sheet of paper!  So it
might be totaly normal!

*  "Printer trouble..." requester?  Have a look at the "CanonTime"
environment  description  on  how  to  avoid  such requesters from
appearing!    Anyway,  clicking  on  "Resume"  will  continue  the
printings without losses.

* After sending data to the printer, the last page doesn't get
ejected? Check your Workbench preferences paper type setting.
Select "Single" sheet!

*  The  driver  doesn't print graphics?  There are several reasons
why this might happen.  First check you Workbench disk.  Make sure
it  is  as  least  Workbench  1.3  and  no  prerelease  version of
Workbench 1.3.  Also make sure your computer has enough memory for
printing graphics (100KB should be enough)

*  Your  graphic  dumps are not really black?  Try a different ink
cartridge and paper!  Believe me:  you can get a really black
dumps!

* After switching from Workbench 1.3 to 2.0/2.1 your dumps doesn't
have  the  same size and resolution?  This most likely will happen
to  users  using  the  DIN  A4  paper  size.   For  instance under
Workbench  1.3  you  used  the  Letter size and after switching to
Workbench 2.0/2.1 the DIN A4 size.  Because the CanonBJ10 supports
the  new  paper sizes (DIN A4,A5...) you get a different printouts
under Workbench 2.0/2.1.  Simply switch back to the Letter size to
get the same result.
                            _\/_
this is it....   END       /~  ~\
                         \| o  o |/
                     --------  -------  <- the author ;-)
                             \/
