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 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=" (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 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 - (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 (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 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 "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 (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 (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 (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=" (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 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 ;-) \/