"Personal Write 4.1 - 4. The Print Menu" 4. The Print Menu 4.1 Before Printing 4.2 During Printing 4.2.1 Print Status 4.2.2 The Printer Buffer 4.2.3 How to Suspend or Abort a Print Operation 4.3 The Print Commands 4.3.1 Print Document 4.3.2 Print from Page 4.3.3 Print Page 4.3.4 Print Block 4.3.5 Print File 4.3.6 Print Picture 4.3.7 Line Feed 4.3.8 Form Feed 4.3.9 Test 4.3.10 Terminate 4.4 Suggestions and Common Errors "Personal Write 4.1 - 4. The Print Menu" 4. The Print Menu This menu contains all the commands necessary to activate the printer output functions of Personal Write. As described in section 2.6, the print can be redirected to a file. In this chapter the "print to file" function is also referred to as "print". The last section of this chapter contains a long list of advice and possible solutions to common problems which may occur during a print operation. 4.1 Before Printing Section 5.3 illustrates how to set the printer parameters of Personal Write. The printer control file must be selected as described in section 2.10 if control codes in the printer format are to be sent to the printer. If the file is selected, Personal Write will send the specified data to the printer before it starts printing. Sections 1.13.6, 2.9 and 6.4 explain how alphanumeric labels can be defined. In this way, circular letters, self-adhesive labels, invoices or other texts with variable data can be printed. One or more special requesters will be displayed before each copy of the text is printed, if the manual substitution of labels is activated. 4.2 During Printing 4.2.1 Print Status The screen title bar is used to display information on the current print operation. The following data can be displayed, in this order: the copy, the page and the line which are being sent to the printer (or to the spooler or to a file) or the percentage of a file's content already handled, the name of the printer driver or the name of the file to which the print operation is being redirected. 4.2.2 The Printer Buffer Most printers have a built-in buffer. A buffer is a special memory used by the printer to store the data received by the computer before it is printed. Until the buffer is full, the data is sent at very high speed from the computer to the printer. Since the printer is faster in storing the data into its buffer, than in actually printing it, the speed at which the data is sent does not reflect what is really printed. As soon as the buffer is full, the printer can accept new data only when some data contained in the buffer is printed, thus freeing the buffer. When the buffer is full, the speed at which the data is transmitted to the printer is linked to the time necessary to materially print the data. The buffer frees the computer from having to wait for slow print operations before the real printing on paper is completed. Most printers will continue to print the content of their buffer even after the computer is switched off. The data displayed on the title bar refers to the amount of data which Personal Write sends to the printer (or the spooler). The computer has no way of knowing whether the printer has already printed the data which has been sent. The spooler of Personal Write, described in section 5.3.14, is very similar to the buffer of a printer. The spooler is much faster than the printer's buffer, and is limited only by the amount of memory available on the computer. Section 4.3.10 explains how to interrupt the activity of the spooler. 4.2.3 How to Suspend or Abort a Print Operation There are several ways of interrupting a print operation. If the user presses , or selects the associated gadget, or selects the "Print/Terminate" menu, or selects the ABORT gadget of a mail merge data requester, or the requester which invites the user to insert a new sheet of paper, Personal Write displays a warning message. If PROCEED is selected, the program proceeds as requested, interrupting the flow of data to the printer. The printer may continue to print the data contained in its buffer and in the spooler of Personal Write. The printer must be deselected (switched off-line) to suspend the printing immediately. This must be done by accessing the printer's control panel. Once the printer is deselected, it remains inactive until it is selected (switched on-line) again. The printing continues when the printer is re-selected. When the printer is switched off- and on-line, the content of the buffer is usually not cleared. This means that the printing will continue from where it was interrupted. Some printers let the user clear the content of the buffer through the control panel, while others must be switched off while deselected. A system requester is displayed some seconds after the printer is deselected. The right gadget of the system requester must be selected to inform the system that the printing is to be suspended. At this point Personal Write signals that the print operation has failed. If the printing is to be only temporarily suspended, it must be deselected and re-selected when the printing can continue. If a system requester is still displayed after the printer is switched back on-line, the left gadget of the requester must be selected to resume the printing. The printing can also be suspended and continued by using the commands of Personal Write. The CANCEL gadget of the warning message must be selected to cancel the requested interruption. Section 4.3.10 explains how to interrupt or temporarily suspend the activity of the internal printer spooler of Personal Write. 4.3 The Print Commands A description of all menu items which control the printer output follows. All functions print as many copies as specified in the printer settings, as described in section 5.3.8. Before a document, page or block is printed, Personal Write sends the content of the printer control file to the printer, as illustrated in section 2.10. The CANCEL gadget of the file requester used to specify the printer control file can be used to deselect the automatic sending of the printer control file to the printer. 4.3.1 Print Document This command causes the entire document to be printed. If more than one copy is specified in the printer settings, all copies of each page are printed before the following page is printed. If the text contains alphanumeric labels, the entire document is printed before the following copy of the document is printed. The document formatting parameters (margins, numbering, line spacing, header etc.) are used for each page. This function can be selected by pressing twice. 4.3.2 Print from Page This function prints the document starting from the page at which the cursor is displayed. This command is useful for continuing a previously aborted print. This function can be selected by pressing, one after the other, and . 4.3.3 Print Page This function prints the page on which the cursor is displayed. As for the preceding commands, all style parameters are considered and followed. This function can be selected by pressing, one after the other, and . 4.3.4 Print Block A block of text is printed by this function. Section 3.1.1 explains how to mark a block. The selected block is printed formatted as a continuous flow of text lines, without being divided into pages. This function can be selected by pressing, one after the other, and . 4.3.5 Print File This function sends the content of the specified file directly to the printer, without displaying or modifying it. Section 2.10 explains how to select the file. If no file has yet been selected, a file requester is displayed. If no file is defined in the requester, or the CANCEL gadget is selected, the operation is cancelled. This function is useful every time a file must be printed without any intervention of the program or the printer driver. Printer control sequences in the file must already be in the format which is being interpreted by the printer. If a document print operation is redirected to a file using the Amiga "Cmd" program the file can be printed later using this function. This will not work if the file was created by the print to file function of Personal Write. In this latter case, the file must be loaded and printed as a document. The printing of a file with this function is very similar to the operation which Personal Write can carry out automatically before a document, page or block are printed (section 2.10). In both cases, the file is often called "printer control file". This command is used to print manually as many copies as desired of the content of a file. The automatic printing is done only once if a printer control file is defined. If a printer control file has been defined, but the file is not to be printed any more, the CANCEL gadget of the file requester used to specify the file should be selected. The printer control file can be used to download a new font to the printer. The font data must be ended by a command in the printer's internal format which instructs the printer to use the newly defined set to print the text. The printer settings (section 5.3) should be regulated so that they will not interfere with the selection of the downloaded font. If the printer frequently clears the user-defined font area, it may be more convenient to let Personal Write download the file automatically (section 2.10) before each text print operation. The size of the font data contained in the file should not exceed the capacity of the area of memory which the printer has reserved for this purpose. On some printers only part of the total RAM can be used to store user-defined characters. Instead of the number of pages and lines printed, the percentage of the file which has already been sent to the file is displayed on the title bar. Personal Write does not interpret the content of the file. If this command is used to print data in a format which is different from the one interpreted by the printer, it is very likely that "garbage" characters will be printed. 4.3.6 Print Picture This function prints a picture in graphics mode. Section 2.11 explains how an image can be loaded and displayed. The printer settings, and in particular the number of copies, the lines to be skipped at the top of each page and the end-of-page mode are observed by this function. The colours used to print the picture can be defined as described in section 5.6. The first colour (colour 0) is used to print the background of the picture, or the border, if the image is not as large as the window which contains it. In this case, it is useful to select a colour which will not be printed (e.g. white) as colour 0. The picture will be printed in gray levels or black and white, as specified through the Amiga Preferences program, if the printer cannot use colours. Some useful hints for a better looking graphic print appear in section 4.4. This function does not use the printer spooler of Personal Write (section 5.3.14). The spooler cannot work while Personal Write is printing a picture. If the spooler is still outputting data to the printer when the "Print Picture" function is executed, a warning message is displayed before the activity of the spooler is interrupted. 4.3.7 Line Feed This command advances the paper by one line. This can be very useful for reading a text which is still under the printer head without having to access the printer controls. 4.3.8 Form Feed On some page printers (i.e. printers which print one sheet of paper at a time, like most laser printers) this command causes the printer to print the content of the page buffer and eject the page. On other printers, typically impact printers with automatic sheet feeder, the command causes the current sheet of paper to be ejected and a new sheet to be introduced from the paper hopper. If continuous form paper is used, the command positions the printer head at the beginning of the following page. The PostScript printer driver of Personal Write and most other Amiga printer drivers designed for page printers automatically eject a page after it has been printed. The "Send Form Feed" printer option (section 5.3.11) of Personal Write can be activated to do the same on any printer. 4.3.9 Test This command is equivalent to selecting the "Save Document/PRINT ANSI", "New Text Window", "Load Document" and "Destroy Document" functions on the same text. The current document is temporarily formatted as described in section 2.6.6 ("Print ANSI Format"), stored into RAM and displayed in a new text window. This can be used to preview the final print format of the current text. The function requires the Amiga "RAM:" device to be mounted. The original document is not modified. 4.3.10 Terminate This menu item can be selected while Personal Write is using resources activated by a print command. A requester asks the user to confirm the choice if printing is in progress. While the warning requester is displayed, both the spooler and the main task of Personal Write temporarily suspend the printing. In this way, the printing may be completely aborted (by selecting the PROCEED gadget of the requester) or only temporarily suspended. With this command it is possible to interrupt the spooler task, free the memory used by the spooler and the printer device which may be used by other programs. While the "Printing" message is displayed on the title bar, this command can be given by pressing the key or by selecting the associated gadget. It is possible to monitor the background activity of the spooler by verifying whether this menu item is shadowed or not. If the spooler is still running, the "Terminate" item can be displayed and selected normally. If however the spooler has terminated its print job, the menu item cannot be selected, and the text is visibly shadowed. In PostScript mode, the Terminate menu item can now be selected after Personal Write has finished transmitting data to the printer, in order to send a PostScript "kill" signal and abort the current print job without outputting a page. This is useful, for example, if a mistake is found on screen just after sending a document to the printer. 4.4 Suggestions and Common Errors Some suggestions for improving the quality of the printer output are listed here. Possible solutions to many problems which may occur during printing operations are also suggested. The parameters of the Amiga Preferences program must be set perfectly. The most common cause of errors is the wrong choice of printer driver. The printer driver specified in Preferences must be the correct driver for the printer which is used. All printer settings of the Preferences program must be correctly set and stored on the workbench disk. Not all printers use the same codes and control sequences. When the name of the printer driver has been selected with the Preferences program, Personal Write will be able use the correct printer codes, and Amiga will activate the appropriate printer driver. The name of the printer driver is displayed during all print operations. Drivers are stored in the "printers" drawers, which appear in the "devs" drawers of the Workbench and Extras disks. Some of the most commonly used drivers are stored on the Personal Write disk (appendix C), while the Commodore Extras disk contains all drivers. A driver stored only on the Extras disk must be copied to the Workbench disk (e.g the Personal Write program disk) before it can be used. The "InstallPrinter" program, also on the Workbench disk, allows the user to copy the drivers from the Extras disk to the Workbench disk very easily. If there is no driver for a particular printer model, a similar or compatible driver can be used, rather than the "generic" driver. The documentation enclosed with the Amiga and with the printer should be read to determine which is the most suitable driver for a particular printer. Appendix C of this guide also lists several suggested drivers for the most commonly used printers. The printer retailer or manifacturer should be contacted if no information can be found in the handbooks, and the existing drivers do not work. Drivers which were included with versions of the operating system before 1.3, as well as versions labelled Alpha, Beta, Gamma and Omega might not work properly with Personal Write. These drivers are not stored in the system ROMs (Personal Write works correctly with 1.2 ROMs), but on Workbench and Extras disks. The Preferences program can be started with the mouse from Workbench. If Personal Write has closed the Workbench screen, the parameter described in section 5.12.9 can be set to open it again. If there is not enough memory to open the Workbench screen, Personal Write should be terminated (section 2.12) to free the memory necessary to open the Workbench screen. Preferences may not be able to modify the printer settings while a program is using the printer device, even if the new settings are displayed on screen. If characters without accents or other signs are printed instead of characters with these signs, or characters are printed instead of an image, or undesired characters appear in the printed text, the wrong driver has probably been selected. As an example, with some inappropriate driver/printer combinations a 'K' or 'P' character (not part of the document) is printed at the beginning of each print operation. These characters respectively have the ASCII codes 75 and 80, which the printer driver tries to use to set the right margin (to the 75th or 80th column). The left and right margins must be set with great precision in Preferences (not only in Personal Write). If - for example - an 80-column (characters per line) printer is used, the two margins should be respectively set to 1 and 80, and not 5 and 75. Sometimes it may be necessary to change the default factory settings of the printer. Some printers have some small dip-switches grouped into banks, located at the rear of the printer or under the cover. Other printers allow the user to change their parameters by accessing the printer memory setting through the control panel. A parameter which is often not set appropriately is the automatic line feed function, which should be disabled to work with most printer drivers. This has to be done if the graphic print is interrupted by wide horizontal lines, or if the line spacing of the text is twice the spacing which has been set through the parameters of Personal Write. If accents or other particular national characters of a specific language are not printed, and the correct driver has been used, it is possible that the character set default setting (e.g. "Italic"/"Epson" versus "Standard"/"IBM") or the language character set should be modified. If it is possible to choose between tractor (perforated paper) or friction paper feed, it should be noted that friction feed is usually much more accurate over short distances (e.g. single sheets), especially on low-cost printers. On some printers friction feed may not grab a sheet stiffly enough if the paper is too light or too thick (forcing the feed mechanism). A discontinuous, asymmetric and imprecise paper feed may be caused by the wrong paper type. This may be especially annoying if it is necessary to print within restricted spaces on the paper, like pre-printed lines. To locate the cause of the problem, it may be useful to compare the spacing of the same text printed using the tractor feed and the friction feed. At least twenty lines beginning with a dash ('-' sign) should be printed to measure the line spacing with precision. The presence of thin, light, horizontal lines on the printed output (graphic or text) can be reduced by selecting the friction feed and/or narrowing the printer head to the paper. If the inked ribbon streaks the paper, or dirties the margins of the paper, the printer head is probably too close to the surface of the sheet. On some printers the presence of thin horizontal lines can be reduced by selecting a "Custom" paper size, and/or "Single" paper type rather than "Fanfold" in the Preferences program. The internal power supply of some printers is not sufficient to guarantee a homogeneous pressure of all needles on the ribbon when the graphics mode is used. Some drivers may let the printer use only part of their pins (generally the upper 16 of 24) if some parameters in Preferences are set as described above. These drivers make an improper (but surely appreciated) use of some Preferences parameters, which otherwise would remain unused, like "Paper Size". Graphics are usually printed faster in mono-directional mode than in bi-directional mode. The mode can be selected manually or through software control on most printers. Black and white graphic print is the fastest, while gray level and colour printing take longer. On some colour printers a black ribbon can (or must) be used to print black text or black and white or gray graphics. In this case, only black ink ribbons, usually more affordable than colour ribbons, need be bought. Some graphics print parameters, like "Smoothing", may be activated in Preferences to reduce diagonal "steps" in the graphic prints. This usually slows down the printing. Personal Write fully exploits the printer's ability to print in letter quality mode, with proportional characters and automatic justification. Personal Write can correctly space lines in metric units (e.g. 1 cm). Section 5.3 contains a detailed description of all printer parameters which can be set with Personal Write. The following is a list of common problems which can usually be solved by modifying some parameters described in sections 5.3 and 5.4. Problem: Lines are truncated and a part is carried over to the following line. Pieces of different lines may overlap. Possible cause: The margins specified in Preferences do not reflect the real printer limits. If the "Multi strike" parameter is set to a value greater than one, it is normal for the different chunks of the truncated lines to overlap. Corrective action: Load the Preferences program to change the printer settings. The left printer margin must be set to 1. The right margin must be set to the maximum number of printable characters, as specified in the printer documentation. Particular circumstances: Proportional characters Problem: Lines are almost always truncated, and a part is carried over to a new line. Possible cause: The proportional adjust value is too low for the font which is being used. A value of 85%, for example, may not be accepted by some printers. Corrective action: The value should be increased. A value of 100% (or 200%) should not cause the same problem. Particular circumstances: Proportional characters. Problem: Some lines are truncated, and a part is carried over to a new line. Possible cause: The proportional adjust value is a little bit too low for the font which is being used. When a line of capital letters (limit case: a line consisting of all 'M' characters), or otherwise longer than the selected average, is printed, the printer truncates the line. Corrective action: The value should be slightly increased. Particular circumstances: Proportional characters. Automatic justification disabled. Problem: The text is not formatted correctly, unless it is left-aligned. The right margin is not perfectly aligned if the text is right-aligned or justified. Possible cause: The automatic justification must be active to format proportionally spaced text. Corrective action: Activate the automatic justification. Particular circumstances: Automatic justification. Problem: The text, the page header and the numbering are not formatted correctly, unless they are left-aligned. Possible cause: The printer has no text justification routines, or the driver is not sending the right command to the printer. Corrective action: Left-align the text or use fixed-width characters (section 5.3.4) with automatic justification disabled (section 5.3.5). Try a different driver. Particular circumstances: Automatic justification. Centred text. Problem: The text, the page header and the numbering are printed left-aligned where they should be centred. Possible cause: The printer has no text centring routines, or the driver is not sending the right command to the printer. Corrective action: Do not use centred text or use fixed-width characters (section 5.3.4) with automatic justification disabled (section 5.3.5). Try a different driver. Particular circumstances: Alphanumeric labels are to be replaced with data in a file. Problem: The data in the file is not used. Possible cause: The automatic translation of labels has not been activated. Corrective action: Modify the parameters in the "Mail Merge" requester, as described in section 6.4. Particular circumstances: Alphanumeric labels are to be replaced with data in a file. Problem: Not all records in the file are used, or only one copy of the text is printed. Possible cause: The number of copies selected in the printer settings is smaller than the actual number of records in the file. Corrective action: Increase the number of copies (e.g. to 9999). Personal Write automatically stops the printing after the last record is used. Particular circumstances: Alphanumeric labels are to be replaced with data in a file. Problem: Some or all labels are not replaced with the data in the file. Possible cause: The file containing the data is not stored in ASCII format, or there is an error in the header record. Corrective action: Check that the names in the header record match the names of the labels in the text exactly (see section 6.4.2). Remove leading spaces in the header record. Save the data file in ASCII format. Particular circumstances: Automatic justification, but automatic font selection disabled. Problem: The printer alternates letter quality text with draft text. Possible cause: Personal Write cannot prevent the printer or the driver changing character type if the automatic font selection is not activated. This only happens with some printers, for reasons completely unrelated to Personal Write, often connected with a problem concerning the printer driver. Corrective action: Activate the automatic font selection, or disable the automatic justification of the text. Particular circumstances: Several character styles in the same line (plain, italic, underlined text, etc.). Problem: The end of the line is not printed. Possible cause: The internal line buffer of the printer or driver may be insufficient to contain an entire line plus the control sequences. Some drivers have problems interpreting multiple style control sequences. Corrective action: It may be sufficient to strip all style commands from the line (section 3.1.7.1) and then re-define them as described in section 3.1.7.2. In this way, redundant control sequences and multiple sequences where one (the last one) has priority over the others are eliminated. Particular circumstances: User-defined characters are downloaded to the printer. Problem: The user-defined characters are not used. Possible cause: The printer has not received any command to select the user-defined font. If the command has been sent, it may have been followed by a subsequent font selection command requested by the user through the printer settings requester. Corrective action: Control codes to select the downloaded font should be added at the end of the printer control file. The same function can be selected through the printer control file. The automatic font selection of Personal Write may be activated or not, depending on the driver and the printer. Under certain circumstances, it may be useful to execute a manual download of the printer control file first (section 4.3.5), then select the same file as described in section 2.10, and then print the text (trying both states of the automatic font selection parameter). Once the text is successfully printed using the new font, subsequent copies may be printed without having to re-download the font (saving time). Particular circumstances: User-defined characters are downloaded to the printer. Problem: As soon as an accented letter, or another special or national character is printed, the printer uses its internal font rather than the downloaded font. Possible cause: Some printer drivers do not use the full set of 8-bit codes of the printer. Instead, they switch to national 7-bit codes whenever they receive an ASCII character whose code is greater than 127. The user-defined font data may not be used to print the special character, or - in the worst case - the downloaded font data is not used any more after the special character is printed. Corrective action: The documentation of the program used to create and download the font should be read. The Printer Driver Modifier program is enclosed with the Cloanto Personal Fonts Maker. This program can be used to correct the conversion tables of the printer. Particular circumstances: The "Print File" function is used to print a text saved by Personal Write. Problem: The desired text is not printed. The text is frequently interrupted by apparently meaningless characters. Possible cause: The selected file does not contain data in the format used by the printer, but in Amiga or Personal Write format. Corrective action: The text should be loaded by Personal Write, and then printed as a document (section 4.3.1). Also see section 4.3.5. Particular circumstances: "Send Form Feed" parameter activated (section 5.3.11). The spooler may be in use. Problem: Some seconds after the printing ends, a system message signalling that the printer is out of paper is displayed. This can happen with some driver/printer combinations, especially if the spooler is activated. Possible cause: Some printer drivers send the form feed code before other control sequences, like those used by Personal Write to terminate a print operation. Some printers will not accept any control sequences if no sheet is inserted. Corrective action: Try to make sure that whenever a paper sheet is ejected from the printer, a new one is put in. Do not send the form feed code or try to print without the spooler (section 5.3.14). Particular circumstances: Spooler is activated (section 5.3.14). Problem: "Garbage" characters are mixed with the printed text. The characters usually appear at the beginning of the printed text and on the left of the lines. The problems disappear if the buffer memory is set to 0. Possible cause: Some printer drivers do not recognize the control sequences used by the spooler of Personal Write correctly. Corrective action: Do not use the spooler (section 5.3.14). Change driver. Particular circumstances: PostScript is activated (section 5.4.1). Problem: "%!PS-Adobe-2.0" is printed, followed by other text and a lot of blank pages. Possible cause: The printer is not in PostScript mode, or does not support PostScript. Corrective action: Set the PostScript mode from the printer's control panel. Switch the PostScript option of Personal Write off if the printer does not support PostScript. Particular circumstances: Printer is used in PostScript mode. Problem: No text is printed. Possible cause: Personal Write is not outputting the text in PostScript mode. Corrective action: Activate the PostScript option (section 5.4.1). Particular circumstances: Printer is used in PostScript mode. Problem: No text is printed, or a font (e.g. Courier) other than the selected one is used. Possible cause: The printer does not have a built in font with the specified name. A PostScript font name has been typed incorrectly. A typographical font name has been used instead of the PostScript internal font name, e.g. "Helvetica bold oblique" instead of "Helvetica-BoldOblique". Corrective action: Check the PostScript font names in the printer's technical handbook. Use the arrow gadgets of Personal Write to select a correct PostScript font name.