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. Thanks to --------- Several people were involved during the writing of the driver and documentation. To all of them, thank you! Because of their extra effort, I would like to personaly mention the following persons: Kieran Magee from Canon (UK) Ltd. German Canon Hotline Service Edith Yearley from the German Canon Software Support Howard Gazes, Brooklyn NY Darren Greenwald, Commodore, West Chester, PA Contents -------- This disk contains a printer driver for use with the Canon CaPSL language printers and Commodore Amiga computers. The following files are included on the disk: "CanonLBP" - 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 CanonLBP driver "Report" - A report program telling your preferences/driver settings "Overlay" - A program for generating overlay pages "Readme" - The documentation file (and/or printed manual) Highlights of the CanonLBP 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 - supports overlay pages - paper tray selectable - fully supports WB 1.3, 2.0 and 2.1(!) - supports landscape printing - all margins are definable - number of copys are selectable - nearly all Amiga CSI/ESC sequences are supported - paper size is freely definable - comes with an extra KS 2.0 preferences program for controlling the driver - default typeface selectable - install program supplied - font download program - full documentation (should be normal, but it's not!) - free definable greyscale conversion System requirements ------------------- The CanonLBP driver is compatible with the entire family of Amiga computers. These include the A500, A500+, 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 Canon LBP driver was designed for all CaPSL III printers. Most of the functions (graphic and text dump) of the driver will work on a CaPSL II and I printer. So far, only font download and landscape printing seems to be a problem with the older printers. The printer should be equiped with at least 0.5 MB RAM for text dumps. 1.5 MB RAM for graphic or text dumps with downloaded fonts. 2.0 MB for graphic dumps combined with font download or huge page overlays. In case you use the automatic font download ability of the driver, your Amiga should be equiped with at least 1MB Ram. A hard disk for saving the font data is strongly recommended. Installation ------------ 1. Setup and connect your Laser printer (for instance Canon LBP 4) as described in the Users Manual. 2. Set the printer INITIAL values as follows: lp = Off autoCR = Off autoLF = Off paint = As Appropriate (most likely you should use the partial mode) paper = As Appropriate graphic set = ISO_USA lines = 6 LPI columns = auto 3. Set the printer COMMAND values as follows: command = ISO message = As Appropriate 4. Set the printer LAYOUT values as follows: orient. = Portrait autoNL = ON autoFF = ON 5. Boot your Amiga with your usual System Disk. 6. Insert the Canon-Driver-Disk and select the appropriate "Drawer" for the printer. 7. 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. 8. In case you use Workbench 2.0 (or higher) use the mouse to drag the FontShop and CanonPref icon into your Workbench prefs drawer. In case 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. 9. Start "Preferences" on your system disk (if you own Workbench 2.0 use the "Printer" and "PrinterGfx" preference program). Select the CanonLBP driver and adjust all other preference parameters to your environment. See your system manual for more information about the Preferences program. See also "Workbench Preferences" for more information about setting preferences. 10. Start the CanonPref program if you are using Workbench 2.0 (or higher). Adjust all parameters to your wanted environment. Workbench Preferences --------------------- While the Workbench preferences program is described in detail in your system manual, there are three settings wich belong to the driver documentation: Density: The driver supported graphic densities: Density X-DPI Y-DPI X*Y-DPI 1 300 300 90000 2 75 75 5625 3 100 100 10000 4 150 150 22500 5 300 300 90000 6 300 300 90000 7 300 300 90000 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. For instance, if you select DIN A4 size, the printer will bring up an error if your printers cassette is US-Letter. You can avoid forcing a paper size by selecting CUSTOM. In this case your printers current paper size gets used. 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. The driver will bring up messages on the right half of the printer display for your information: "JobT" : This means, text data is being transfered to the printer. "Font": This means, font data is being transfered to the printer. is the font number (0-10) currently transfered. "OverPg" : This means, an overlay page is being transfered to the printer. "JobG" : This means, graphic data is being transfered to the printer. "Idle" : This means, the print job is finished and the printer/driver is ready for another job. Aborting printing may often leave the printer in an unknown status. This causes erronious printing on the next dump. In case you abort printing, it is most likely that the printer display is not showing Idle and data is not transfered. This is because the printer was left in an unknown status. Please run InitPrinter in order to bring back the printer in a known status. Note: printers like the Canon LBP A1 or A2 don't support displaying text messages. In this case you MUST force the driver to disable text display commands. For more information see CANONNODISP var and CanonPref description. 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 aRI ESCM reverse 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 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 aFNT2 ESC(K Typeface 2: Pica DEC aFNT3 ESC(A Typeface 3: Elite DEC aFNT4 ESC(E Typeface 4: Swiss 721 DEC aFNT5 ESC(H Typeface 5: Dutch 801 DEC aFNT6 ESC(Y Typeface 6: Garland DEC aFNT7 ESC(Z Typeface 7: Humanist 801 DEC aFNT8 ESC(J Typeface 8: Century 702 Amiga aFNT9 ESC(6 Typeface 9: Symbol DEC aFNT10 ESC(C Typeface 10: User Amiga aPROP2 ESC[2p proportional on Amiga aPROP1 ESC[1p proportional off Amiga aPROP0 ESC[0p proportional clear Amiga aTSS ESC[n E set proportional offset ISO aVERP0 ESC[0z 1/8" line spacing Amiga aVERP1 ESC[1z 1/6" line spacing Amiga aSTBM ESC[Pn1;Pn2r T&B margins DEC aSLRM ESC[Pn1;Pn2s L&R margin DEC aCAM ESC#3 Clear margins Amiga aHTS ESCH Set horiz tab ISO aVTS ESCJ Set vertical tabs ISO 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 Aborting printing may often leave the printer in an unknown status. This may cause erronious printing on the next dump. If you abort printing, make sure you call InitPrinter before the next dump. See your Workbench disks for InitPrinter. The CanonPref Program --------------------- Beside all those function mentioned in the chapter "The Driver in detail", there are some more options unique to the CanonLBP driver. These option are controlled using commodore 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". If you don't use these options, default values will be used. The driver will read the arguments set by CanonPref on following events: - The driver gets loaded into memory. - The first time an aRIN command is sent after opening the driver. This is automaticly done in most cases you print text the first time after loading the driver. - The first time an aRIS command is sent after opening the driver. - Before graphic dumps, but only once after opening the device. You may invoke the InitPrinter program before a dump. Initprinter (ie. sending aRIN) is the safest way to let the printer driver know about changes made with CanonPref. CanonPref can be controled 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=" 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 For instance, if you use the ASDG texteditor "CygnusEd" you may specify "CanonPref PUBSCREEN CygnusEdScreen1" (case sensitive!) 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 gadget represent an environment variable wich can also be controlled using the CLI setenv command. I strongly recommend using CanonPref. Orientation: Portrait (default) Landscape With this option you can force the printer to print in landscape or portrait mode. Printing text in landspace mode requires a printer wich is able to generate landscape fonts. While most modern LBP printers (for instance LBP 4) automaticly generate a landscape font out of a portait font, some don't and because of this require a font cartridge with landscape fonts. Note: if your application program allows you to print in landscape mode, don't assume the output will be equal to the printers landscape mode printing. Display: On (default) Off The driver normaly will bring up messages on the printers panel display for your knowledge. These are: "JobT" : This means, text data is being transfered to the printer. "Font": This means, font data is being transfered to the printer. is the font number (0-10) currently transfered. "OverPg" : This means, an overlay page is being transfered to the printer. "JobG" : This means, graphic data is being transfered to the printer. "Idle" : This means, the print job is finished and the printer/driver is ready for another job. In case you own a printer wich is unable to display text messages (for instance Canon LBP A1 or Canon LBP A2), you must set this option to "OFF" to avoid such messages. End Signal: No Signal (default) Beep Flash Beep&Flash If the printer device gets closed after a dump, you can tell the CanonLBP 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 application 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 CanonLBP 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 CanonLBP 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 Amiga's centronics port without switching between the devices "by hand". Specify the wanted printer port in "sbox_printer" and the default port (wich 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 Typeface: printer default (default) Line Printer Pica Elite Courier Swiss 721 Dutch 801 Garland Humanist 801 Century 702 Symbol User defined Typefaces This cycle gadget specifies the typeface to be selected on aRIS, aRIN and aFNT0 (i.e. your normal typeface). The selected typeface gets disabled when you download a default font using the FontShop program. In this case, the typeface of the downloaded font gets used. If you select "printer default" as typeface, no typeface will be selected and the printers current typeface will be used by the driver. Paper feed: printer default (default) Cass/Auto Manual Upper Cassette Lower Cassette Envelope The CanonLBP driver allows you to select a special paper feed. The LBP series printers are available as either single or double cassette models. With single cassette models only one paper cassette can be installed in the printer (LBP 4, LBP 8 A1/A2, II, Mark III). Double cassette models allow two paper cassettes (LBP 8 D, A1/A2, IIT, IIR, Mark IIIT, Mark IIIR). How the paper feed mode is set depends on the model and not all modes are allowed on a single cassette model Single cassette Printer default = Off (printer setting) Cass/Auto = Cassette feed Manual = Manual feed Double cassette Printer default = Off (printer setting) Cass/Auto = Cassette feed Manual = Manual feed Upper cassette = Upper cassette feed Lower cassette = Lower cassette feed Envelope = Envelope feeder 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 for graphic dumps. For instance, if you use Workbench 1.3, you can specify a X-resolution of 2337 dots, wich is equal to the DIN A4 size. If you specify 0 (default) as X-resolution, the US-LETTER resolution of 2407 dots will be used. The allowed range is 0 to 65535 dots. Custom Res-Y: 0-65535 dots (default 0) If the papersize is CUSTOM, this option allows you to specify the vertical resolution for graphic dumps. For instance, if you use Workbench 1.3, you can specify a resolution of 3300 dots, wich is equal to the DIN A4 size. If you specify 0 (default) as resolution, the US-LETTER resolution of 3100 dots will be used. The allowed range is 0 to 65535 dots. Top Margin: 1 - (default 1) Specifies the upper top margin of the page in lines, using the line space set in preferences. If you use a font with a baseline greater 63 dots, you must use this option in order to print with the font on the first line of the page. For instance if you use a font with a baseline of 100, use 2 (printing starts at the second line) for "CanonTMarg". This makes sure the font fits on the first line of the defined page. Chars that don't fit simply won't be printed. 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. 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 "Check printer cable". 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 before 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. 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. Copys 1-99 (default 1) With this var you can set the number of pages to print. The number of copies can range from 1 to 99. This option is especially usefull when printing one page several times. It may reduce printing time dramaticly. Even if your application program provides an equal possibility: use this option, because an application allways must send the data for each page to print. 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. Overlay Page : checked (default) not checked Using this switch, you can enable or disable overlay page download without actually deleting the overlay page in your ENV: and/or ENVARC: directory. Set this var to "OFF" (not checked) if you don't want any overlay page to be downloaded. 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 temporary and permanent use. Environment Options ------------------- You can set options for the CanonLBP 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 you system manual for a complete description of the setenv and "getenv" command. The driver will read in the arguments on following events: - The driver gets loaded into memory. - The first time an aRIN command is sent after opening the driver. This is automaticly done in most cases where you print text the first time after loading the driver. - The first time an aRIS command is sent after opening the driver. - Before graphic dumps, but only once after opening the device. Note: reading the options does not always mean they take place immeaditly. 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. 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 CANONNODISP ON|OFF (Default: OFF) In case you own a printer wich is unable to display text messages (for instance Canon LBP A1 or Canon LBP A2), you must set this option to "ON" to avoid such messages. SetEnv CANONCOPY (Default: 0) With this var you can set the number of pages to print. can range from 0 to 99. A value of 0 is equal to 1. SetEnv CANONFEED (Default: 0) With this var you can set the paper feed mode. can range from 0 to 5. The LBP series printers are available as either single or double cassette models. Single cassette model: only one paper cassette can be installed in the printer (LBP 8 A1/A2, II, Mark III). Double cassette model: two paper cassettes can be installed in the printer (LBP 8 D A1/A2, IIT, IIR, Mark IIIT, Mark IIIR). How the paper feed mode is set depends on the model: Single cassette 0 = Off (printer setting) 1 = Cassette feed 2 = Manual feed Double cassette 0 = Off (printer setting) 1 = Cassette feed 2 = Manual feed 3 = Upper cassette feed 4 = Lower cassette feed 5 = Envelope feeder If you set "CanonFeed" to "0" (ie. "OFF"), you must setup the right feed mode at the printer or you will likely get the printer error message, "11 Tray Paper". Note: the paper feed command gets sent by the driver before graphic dumps and on aRIS/aRIN. Very fiew application programs do not use these commands at the first dump after booting the amiga, in this case you MUST use the "Initprinter" program to do so by yourself. A program wich does not send these commands is very unfriendly and should be reported to the manufactor. SetEnv CanonOrient PORT|LAND (default: PORT) The CanonLBP driver allows you to print text and graphics in landscape and or portait modes. You can use this option to enable landscape printing after the next aRIN or aRIS command sent to the printer. Note: if your application program does not use aRIN once, you most likely have to run "Initprinter" (see your Workbench Disk for the "InitPrinter" program) for getting the desired orientation. This is especialy true for graphic printing programs (for instance DPaint) which often fail to do a aRIN before dumping a graphic. SetEnv CANONBEEP 0|1|2|3 (Default: 0) If the printer device gets closed after a dump, you can tell the CanonLBP 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 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 (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 2337 dots, wich is equal to the DIN A4 size. If you specify 0 (default) as resolution, the US-LETTER resolution of 2407 dots will be used. The allowed range for is 0 to 65535 dots. SetEnv CanonResY (Default: 0 dots) If the papersize is CUSTOM, this option allows you to specify the vertical resolution for graphic dumps. For instance, if you use Workbench 1.3, you can specify a resolution of 3300 dots, wich is equal to the DIN A4 size. If you specify 0 (default) as resolution, the US-LETTER resolution of 3100 dots will be used. The allowed range for is 0 to 65535 dots. SetEnv CanonTime (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 "Check printer cable". 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 CanonTMarg (Default: 1) Specifies the upper top margin of the page in lines using the line space set in preferences. If you use a font with a baseline greater than 63 dots, you must use this option in order to print with the font on the first line of the page. For instance if you use a font with a baseline of 100, use 2 (printing starts at the second line) for "CanonTMarg". This make sure the font fits on the first line of the defined page. Chars that don't fit simply won't be printed. WARNING: Don't forget this option when using huge fonts! SetEnv CanonType (Default: 0) Specifies the typeface to be selected on aRIS, aRIN and aFNT0. The "CanonType" var is disabled when you download a default font using the FontShop program. If you specify 0 (default) as typeface, no typeface will be selected and the printers current typeface will be used. Because a typeface of 0 is used by the line printer font, you must subtract one from "CanonType" to get the final printer typeface number recognized by the printer. A value from 0 to 65535 is allowed. At the time of this writing, the typefaces in table below are supported. For FontShop's USER typeface use 201. CanonType Meaning 0 printer default typeface 1 Line Printer 2 Pica 3 Elite 4 Courier 5 Swiss 721 6 Dutch 801 17 Garland 18 Humanist 801 24 Century 702 138 Symbol 201-256 User defined Typefaces 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 CanonFont0 (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. The names of the fonts will be named according to the Printer Font setting in the FontShop program. "CanonFont0" is the filename for the default font "CanonFont1" is the filename for font 1 and so on. Instead of font download, you can use the "CanonFont" vars to customize the printer driver. Because it's not required to save a font file as a "CanonFont" var, you may save text or any other CaPSL command. "CanonFont0" is somehow special. as opposed to the other "CanonFont" vars, the text will be printed with the preference selected attributes. During aRIN or aRIS fonts are downloaded in following way: 1. Initialise initial values. 2. Download "CanonOverPage". 3. Download "CanonFont(10-1)". 4. Select the font specified by preferences. 5. Download and select "CanonFont0" if font was downloaded. For instance, you can create an overlay page and save it as "ENV:CanonFont0". The overlay page will be download on every "aRIN" and "aRIS" command. Using an overlay page through any of the "ENV:CanonFont" vars is possible, but different to the normal "CanonOverPage" var, it won't be download for graphics. Also, you can join (see your "c:" directory for join) font files and/or overlay pages with each other. As an example for using "CanonFont0" enter in CLI: setenv CanonFont0 "aRIN or aRIS was executed!" This command will cause the sentence to be printed on every aRIN or aRIS command. Also, the data downloaded through the "CanonFont0" is raw, ie. you must send CaPSL commands not Amiga CSI/ESC sequences. You can use the CMD program (see your Workbench disk for the CMD program) to translate Amiga sequences to CaPSL commands. Note: before printing text the first time after loading the driver, a aRIN command is automicly sent. This automaticly makes sure everthing is set up right and you don't need to start "InitPrinter" to do so. SetEnv CanonOver ON|OFF (Default: ON) Using this switch, you can enable or disable overlay page download without actually deleting the overlay page in your ENV: and/or ENVARC: directory. Set this var to "OFF" if you don't want any overlay page to be downloaded. SetEnv CanonOverPage (Default: not used) You can save an overlay page as "CanonOverPage". For more information about creating overlay pages see chapter "Overlay Pages". SetEnv sbox_printer <0|1|2|3> (Default: 0) The CanonLBP 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 CanonLBP 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 (wich 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 CanonConv (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. LBP-FontShop ------------ The FontShop program allows you to generate and download fonts from your Amiga to the LBP 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=" 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 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. Handling FontShop normaly doesn't require any complex settings. Simply select the font and download it. Here a first quick start: With "Select a font..." you can invoke the system font requester and choose a font with it's styles and attributes for download. After selecting the font you get back to the main window with OK. Now you save the font as download font by clicking on the Download gadget. 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 of the selected font. The cpi number depends on your selected font, font width, InterSpace and font mode (Proportional or Mono Spaced characters. Please note: the calculated number in proportional mode is based on the width of the space character. Select a font... This gadget will bring up the systems font requester. Select a wanted font, size, style and type for download. The printer can fully understand all fonts with up to 4200 dots height and width. Though, most fonts are not designed for such huge sizes nor can the amiga system handle them. At the time of this writing there is no given maximum font size from the Amiga system software, but you shouldn't select sizes higher 127 or (for some fonts) 255 dots. In case you select a font with a baseline higher than 63 dots, you must increase the top margin in order to print text with the font on the first line of a page (the font simply won't fit!). You should enable the "Adjust Line Spacing" option for huge fonts sizes or the font will trash any previously printed text because of its size. There are several commercial and public domain font collections available, offering you a large base of fonts. Also, you may use Intellifonts (CompuGraphic) from Agfa-Gevaert AG if you have installed the right diskfont library (see your Workbench 2 manual for more information). For using PostScript or MetaFont fonts, you must render them first at the wanted size. Also, if you want to make your own download chars or alter existing chars, there are several nice and easy to use font editors available on the amiga. Ask your dealer about them! Such font editors enable you to use your personal fonts with signs and all that stuff... -->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 save the font permanently instead of temporary, use "Prefs (Save)". This will save the font in the non volatile ENVARC: directory. You may also download the font directly to the printer by selecting "Printer". This is specialy usefull if your amiga is low on memory. Also, directly downloaded fonts are stored permanently in the printer and can only be erased by a manual hard reset (a hard reset will never be send by the driver!). You can create download font files 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:"! 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. Printer Font This is a cycle gadget. You may download up to 11 fonts at the same time to your printer. The only existing limitation might be your printers download RAM. Each font has it's own ID and may be selected by using the amiga standard escape sequence aFNT0-10. If you generate fonts with FontShop program for automatic font download, the fonts will be saved in the ENV: and, if "Prefs (save)" was selected, ENVARC: directory. The names of the font files will be named according to the above listed environment names. "CanonFont0" is somehow special. Instead of a font download, you can use the var to customize the printer driver. See "Environment Options" for more information. All font downloads are done during an aRIN or aRIS command. The aRIN or aRIS command can be divided in four seperate steps: 1. Initialise initial values. 2. Download "CanonOverPage". 3. Download "CanonFont(10-1)". 4. Select the font specified by preferences. 5. Download and select "CanonFont0" if available. So if you download fonts with ID's in the range from 10 to 1, they may get selected in step 3 because they best fit the requested font attribute. The font with ID 0 will always be selected after aRIN or aRIS until you request an font attribute were an other font is better suited. Memory FontShop downloads all country specific ISO character sets with all its characters. For high font sizes this requires huge amounts of printer RAM. For this purpose you can set the Memory gadget to "Economy". This will force the FontShop program to download only those chars of a character set, wich are really needed by the driver and not the full character set. You can save a lot of printer RAM because of this. The memory gadget doesn't have any effect on the time needed for downloading a character set. 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 download the font with proportional spaced chars (or kerned mono spaced fonts). You may define a special space (InterSpace) between two proportional/kerned chars giving 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. Adjust Line Spacing With this checkmark gadget you can specify, whether the line spacing will be adjusted to the font size or not. With the preference given line spacing of 1/8" or 1/6" you run into problems when printing with huge or very small fonts. For instance a 100 dots high font with 1/8" line spacing will overprint the contents of the previous line. If you checkmark this gadget, the line space will be adjusted to the font size whenever you select the downloaded 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. Overlay Pages ------------- The driver supports the use of overlay pages. Fixed forms such as invoices are a frequently used example. It is recommended that such forms be registered in the printer instead of preparing the data for individual pages. The desired forms can be specified when needed. The form is then overlaid on the pages. This function is called Overlay Printing. Use of overlay printing eliminates the necessity of transferring print data such as box lines for tables and shading patterns for the individual pages. This reduces the quantity of print data, and improves the efficiency of processing. Also, more complex data can easily be prepared. An overlay page can be created with nearly every Amiga application. Here is an example on how to create an overlay page: 1. It's not necessary to disable the printer display messages, but it's recommended for creating an overlay page. Whether you disable the the display function or not, the "OverPg" message will not be displayed. 2. Start your application program intended for creating the overlay page. 3. Run InitPrinter. This loads the driver into memory and causes an aRIN to be sent. 4. Use the CMD program to redirect the printer output to a file. 5. Now print your overlay page. Because of CMD the program will print to a file instead to the printer. You MUST print the page without a Form Feed, aRIN or aRIS command. In most cases aRIN and aRIS can be avoided by starting InitPrinter before printing from the application program (see item above). Form Feed can be controled from most applications (for instance PPage or DPaint IV) or from preferences by choosing the FANFOLD papertype. 6. Now start the supplied Overlay program. Overlay needs as argument path and name of the file generated by CMD. Overlay will save the final overlay page as "ENV:CanonOverPage". Next time an aRIN or aRIS command is sent, the overlay page will be downloaded and used. You can disable the overlay page printing by setting "ENV:CanonOver" to "OFF" or deleting "ENV:CanonOverPage" and sending another aRIN or aRIS command. The sizes of the overlay page paper and the paper used for printing must be the same. Overlay printing is not performed if the sizes are different. 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 LBP. 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 LBP gives you the possibility to print 300 dots per inch (dpi). But there is one drawback, which most printers have: a 1/300 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 CanonLBP 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 is 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. Tips ---- Using the downloaded fonts from application programs is not allways as easy as it seems. For instance you download a font as the default font and expect that the application program will use this font but it doesn't. This is most likely caused by the application program asking for a different font attribute after initializing the printer (using aRIN or aRIS). This is because a charcter set is selected by character attribute. The priority sequence is as follows: 1. Font orientation (FontShop allways download in portrait mode) 2. Graphic set (the driver allways uses ISO_USA as default) 3. Character pitch (for mono spaced fonts) 4. Character size (for proportional spaced fonts) 5. Character style 6. Strokeweight 7. Typeface Lets study this with an example: Assume you use ProWrite V3.2.2 as a word processor with a Canon LBP 4 printer. After typing some text in lettergothic (plain, size 15) you want ProWrite to print normal text (NLQ output) with the printer using a downloaded lettergothic font. Now assume ProWrite prints the text with an 12cpi, mono spaced portrait font. Because the normal LBP 4 printer doesn't have a 12 cpi font nor scaleable mono spaced fonts, the text will be printed in an 15 cpi mono spaced font. Now download a LetterGothic mono spaced, plain, 12 cpi font as Font 1. Next time you print, the Canon LBP driver will download the font and the printer will select that font because it fits the wanted attributes most. You can delete all settings made with CanonPref and FontShop by entering "delete env:canon\#?" in CLI. Trouble Shooting ---------------- 1. In case you run some of the special futures of the driver, note, not all changes to the environment option take affect immediately. This occasion is very rare and during testing the driver it never happened. But I assume there are some badly written programs that may run into problems. Anyway, it's definitly not a fault of the driver, but here is a workarround that might help: Start Initprinter or flush the driver out of memory (WShell users may use "Flush"; Commodore users may use the "Stack 40000000" command in order to do this) causing a aRIN or aRIS command to be sent to the printer driver. CanonPref and FontShop automatically flush the driver out of memory in case the driver is not used by any other program. So use the CanonPref and FontShop program if the printer.device is closed and you won't experience any problems with changing options. 2. Data should be sent to the printer only via parallel.device / serial.device (par:/ser:) or printer.device (prt:) and not both together as this may confuse the printer. 3. In case your printer prints "1yJobG", "1yJobT", "1yIdle", "1yOverPg" or "Font ", you must disable the Display option of the driver because you printer does not support the display comment command needed by the driver. 4. Out of memory? There are some things that may help you out of this trouble: - In case your printer is not equiped with much memory and you download fonts, use FontShops "Economy" mode. - In case your printer yells "No Memory", check your printers paint mode! - If the Amiga runs out of memory, then check your ENV: directory. If ENV: is assigned to ram: and contains huge font files, move ENV: to a non volatile disk. FontShops font files may be huge and because of this, require much memory. - In case your Amiga runs out of memory, the drivers special features will be disabled! In this case free some memory by quiting unneeded applications. Also flush the driver out of memory (WShell users may use "Flush"; Commodore shell users may use the "Stack 40000000" command in order to do this). After this retry printing. 5. 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 6. In case you get the message "11 Tray Paper" from your printer, check the "CanonFeed" setting. 7. Unable to start CanonPref? Make sure you have at least Kickstart 2.04 and Workbench 2.04 installed right. 8. 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! 9. 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!