;EditorPrfx:5852; ; ppl 60 si8 sl8 sr74 jl ta8,12,20,30,54 ; phm 3 ; pfm 3 ; ppg ; ppc 40 EdtPrt - Generalised Print Program C.D. Oct '87 ================================== The function of the program is to print a document. The document may be a letter, report, thesis, brochure or whatever. The principal objective is to provide simple access to all of the (text) features of the printer assigned to the task. The key feature of the program is that it is 'driven' by a reasonably free format "printer description" file. Within this file, you may easily identify all of the features of your printer you wish to use. The description file may contain many sets of printer descriptions - as many as you wish - so control information for all your printers (or any that you are likely to use) may be contained in one file, selectable at run time with one key press. Much of the information for a printer is "static" - that is, it need only be said once. For example, how to set the printer in bold mode, or how to set the left/right margin etc. This is the kind of thing that is specified in the description file. Some of the information for a document is "static". For example, the intended page length, what header margin should be used, what page headings/footings should be used. However, some document information is not static. For example, when should underline be switched on, when to change into/from italics and so forth. EDTPRT allows all this kind of information to be embedded within the document file itself. It uses a system of conventions which are completely compatible with the "document mode" of Editor. Main Sections in this document are as follows: 1 Program Features 2 Running the program 3 Printer description 4 Parameter formats 5 Headers and Footers 6 Heading and footing position 7 Printer features in Headers and Footers 8 Print starting from a nominated page 9 Exchanges and Toggles 10 Specifying compound strings 11 Built-in exchange 12 Circularity 13 Maxima 14 Error messages 1 Program Features - Prints documents to ANY printer - Can use ANY text feature of the printer - Can support ANY NUMBER of "translates" - Can support ANY translate convention - Multiple line Headers and Footers - Multiple occurrence of Headers and Footers in one document - Supports Bold and Underline on ALL printers - Single sheet or Continuous stationery - Print whole file or specified page range - Pause printing prior to Head of page - Abort printing at any time - Compatible with all text files and Editor document files 2 Running the program To run the program, you will need to have two things. One is a file to be printed. The other is a description of the printer you intend to use. Before you run the program, you should have set up a description of your printer. To do this you will need to look at the section below dealing with the parameters and parameter formats. The program starts up by painting its standard screen, on which are displayed the principal options: ESC Quit F1 Specify Default Device F2 Specify Printer Device F3 Select Printer Type F4 Repaint screen F5 Print a file F9 Move window The "current" settings for the first 3 items are constantly displayed on screen. For example, the default device may be shown as "FLP1_". Each may be changed as often as is required. The first thing that you are likely to want to do is to select the printer type. Now the printer type (and its description) is obtained by the program from your printer description file. This file is expected to be called "driver_dat", but you may call it what you like. When you press F3, the program asks you to confirm that the name of the file is "driver_dat" and that it is on the specified default device. If the name is different, then simply type in the name you have used. (If the file is on another device, then use the F1 option to change the default device before using the F3 option). The description file is read and all of the printer types it contains are displayed on screen; you select the one you want by entering the appropriate ident number (which is displayed on screen). If only ENTER is pressed, the first driver set is selected by default. If a full 'page' of printer types is on display and you do not see the one you want, press 'C' to continue to the next page. If you wish to print to a different device or file - e.g. "ser2" or "par_16k" or "flp2_prt" then press F2 and enter the required value to the displayed prompt. Changes to the default device, printer type, printer device will cause the displayed settings within the menu to be altered to reflect the current values. When these things have been set up as you want them, you are ready to start printing. If the file that you want to print is on the indicated default device, then proceed by pressing F5 to start printing. Otherwise, change the default device - F1 as before - and then press F5. The program will then ask for the name of the file to be printed, after which the parameters from the printer description file are read into memory to initialise all of the controls for your printer. Having confirmed the input file and the destination file/device, the next prompt asks for the start page number (it defaults to 1 of course). This is followed by the finish page number (defaulting to 'end of file'). When you have replied to that, you are under way. During printing a message is displayed on-screen informing you that if you want to terminate the printing NOW you should press the ESC key. If you want the printing paused prior to the next "page throw" you should press the letter "P". This latter feature allows you to change continuous stationery, realign etc. [Cut sheet users have another way of halting the printing after each page - see the parameters]. In addition F4 will cause a screen refresh - it may have been overwritten if you are running another program while the printing is going on. If you selected a page range from the current file that did not include the last page, when the range has been completed, you are asked if any later range in the same file is required. This saves a little bit of start-up time when taking several 'snapshots' from the same file. And that basically is it. You can print any number of files in succession, simply by pressing F5 - assuming that none of the other parameters is required to change in the meantime. If they are to be changed, then you may of course do so before pressing F5. ESC will terminate the program. 3 Printer description The printer description file contains control information describing a number of printers - well, at least one. Each description commences with a "Name" parameter, and all statements after the Name parameter and before the next Name parameter (or end of file) are considered part of the description. All statements are contained on one line. Each statement line starts with semi-colon in column 1. Any line which does not start with semi-colon is assumed to be a comment line. After the semi-colon must follow a parameter type. There may be zero through many spaces between the semi-colon and the parameter type. The parameter type should be one from the list below - if it is not, then the line will be ignored without comment. All parameters other than the "Name" parameter start with the letter "P". (A common description file may be used to specify the GRAPHICS capabilities of the printer as well as the TEXT capabilities. In the present instance, we are interested only in the TEXT capabilities, whereas the program "graFix" is interested in the GRAPHICS capabilities). Each of the parameter types addresses a different aspect of printer control or report formatting. The following list contains ALL of the parameter types supported. In looking through this list it may help (or confuse) to remember that these parameters MAY occur in the printer description file OR they may occur as embedded commands in the document file to be printed - or they may occur in BOTH. Some of the commands make more sense coming from the description file, while others are more appropriate in the document file itself. This distinction will be made clearer a bit later. For the time being here are the parameter types: Name Introduces a new printer Up to 30 characters description set - free format PDV Device. To which device on the Default: SER1 computer is the printer connected. [See Note 1 at end of list] PBD Baud rate. The speed at which Default: Current setting the printer is set to receive characters from the computer PRS Reset sequence. A control Default: None sequence which causes the printer to reset to its internal defaults. [See Note 2 at end of list] PCN Cancel sequence. Causes all data Default: None in the printer buffer to be lost. Used when ESC is pressed during printing. PPA Preamble sequence to be sent to Default: None the printer at the beginning of the document (fragment). [See Note 2 at end of list] PPO Postamble sequence to be sent to Default: None the printer at the end of the document (fragment). [See Note 2 at end of list] PHM Header margin (number of lines) Default: 3 to be reserved at the top of each page. Any "page header" specified will occur within these lines. PFM Footer margin (number of lines) Default: 3 to be reserved at the bottom of each page. Any "page footer" specified will occur within these lines. PPL Useable page length (number of Default: 60 lines). The amount of space within which document text will be printed. PFF Explicit Form Feed (page throw) Default: No required at the end of each page. [See Notes 3,4 at end of list] PSS Single Sheet printing required. Default: No The program halts after a page pending a key press. [See Note 3 at end of list] PPG Page numbering required. Implies Default: None no page number is requested in the header lines or the footer lines (if any such lines provided), BUT a page number is required in the DEFAULT position [See Note 3,6 at end of list] PPT Text required on default page Default: "Page: " number line. If trailing spaces required, take care - use either #32 or "ru" mode in Editor. PPC Column number for default page Default: 40; only used if number - indicates in which default page numbering column the number is printed. in operation PPN Reset page number (new page Default: 1 number). May occur anywhere within a document. Typically used at the start of a doc. "First doc. page is page XXX" PSL Set Left Margin Default: None Specifies the control sequence to be sent to define the left- most printable column position. [See Note 5 at end of list] PLM Left margin (column number). Default: 1 Max: 60 Specifies where on the physical page printing will start. Users of 80 column printers should be cautious when using this feature If PSL not specified, margin comes into effect immediately. [See Note 5 at end of list] PEL End of Line code. Specifies the Default: #13, #10 control sequence to be sent at each end of line. PPS Pause code specifier. If a pause Default: None code is met in the document file a message is displayed and the program halts pending a keypress PPB Conditional Page Break (number Only meaningful within of lines). If the number of the document file useable lines remaining on the current page is less than the specified number, a page break will occur. PHD Page header text - see section Default: None on headers and footers. PFT Page footer text - see section Default: None on headers and footers. PBO Boldface is not supported by the Default: No printer. The program should 'synthesize' boldface. PUL Simultaneous underline is not Default: No supported by the printer. The program should 'synthesize' simultaneous underline. PXG Exchange with Global effect See Exchanges and Toggles PXL Exchange with Line effect See Exchanges and Toggles PTG Toggle with Global effect See Exchanges and Toggles PTL Toggle with Line effect See Exchanges and Toggles 4 Parameter formats In the brief syntax descriptions below, the following meanings apply: String - a collection of characters commencing in a non-space, non-comma character and containing any characters Numeric- A series of characters from the group 0 to 9 Compound string - A string built up from one or more elements. Each element may be either a SINGLE ASCII character specification of the form #nnn OR the element may be a string. Elements are separated by a comma. A more complete description occurs in 'Exchanges and Toggles'. If there is more than one argument on a parameter line, then the arguments are separated by semi-colon. ;Name String - Name of printer; max length 30 characters ;PDV String - Device or file name; max length 30 characters ;PBD Numeric - baud rate ;PRS Compound string - max length 30 characters ;PCN Compound string - max length 30 characters ;PPA Compound string _ max length 30 characters ;PPO Compound string _ max length 30 characters ;PHM Numeric - number of lines of top margin ;PFM Numeric - number of lines of bottom margin ;PPL Numeric - number of useable lines on page ;PFF 0 or 1 (optional - default 1) ;PSS 0 or 1 (optional - default 1) ;PPG 0 or 1 (optional - default 1) ;PPT Compound string - max length 20 characters ;PPC Numeric - column number where "Page: nnn" is printed ;PPN Numeric - new page number ;PSL Numeric - field length; Compound string - max length 12 characters ;PLM Numeric - column number to be used as col 1 of printout ;PEL Compound string - end of line code; max length 30 chars ;PPS Compound string - pause mnemonic; max length 8 chars ;PPB Numeric - Number of lines required on page ;PHDn String - Header text for header line 'n' ;PFTn String - Footer text for footer line 'n' ;PBO Compound string; Compound string - Boldface ON_mnemonic; Boldface OFF_mnemonic ;PUL Compound string; Compound string - Underline ON_mnemonic; Underline OFF_mnemonic ;PXG ident; ON_mnemonic; ON_print; OFF_mnemonic; OFF_print See Exchanges and Toggles ;PXL ident; ON_mnemonic; ON_print; OFF_mnemonic; OFF_print See Exchanges and Toggles ;PTG ident; ON/OFF_mnemonic; ON_print; OFF_print See Exchanges and Toggles ;PTL ident; ON/OFF_mnemonic; ON_print; OFF_print See Exchanges and Toggles - ON_ & OFF_mnemonics : max length (decoded) = 8 characters - ON_ & OFF_print : max length (decoded) = 16 characters Note 1: The F2 option on the run-time menu over-rides this parameter. If this parameter is specified and no F2 setting has been selected, the device specified in the parameter is used. If neither the parameter occurs nor the F2 option is used, then the output device defaults to 'ser1'. Note 2: The sequence "reset", "preamble" is issued before and after each header and footer, followed by appropriate left margin settings (if any). This technique is used to allow differing print features in the three zones. Note 3: The parameters PFF, PSS, PPG each have an optional qualifier. The presence of the parameter implies that if the qualifier is missing it should be interpreted as "1" - namely "True". If however it is required to switch the feature off during the printing of a document, then the parameter may be specified with a zero qualifier. Note 4: Except the ultimate line, each line of the page is terminated with the 'standard' end of line sequence as specified by PEL parameter. If the PFF parameter is active, the last line of the page is terminated with the sequence FF, CR (ASCII 12, 13). Note 5: The first parameter specifies the NUMBER OF CHARACTERS to be used to indicate the actual column number. If it is "1", the column number is sent as an ASCII code (i.e. 0 .. 255). If greater than "1", the column number is sent as decimal chars. The actual column number used is specified with PLM. Margin comes into effect at next (first) page throw. The PLM parameter specified without the PSL parameter requires that the program outputs the indicated number of spaces (less 1) before each line printed. However, if underlining is in effect across an end of line, this may/will result in the left margin showing underlines. The PSL parameter allows the program to instruct the printer directly where the printing is to start, so that the leading spaces do not have to be sent, and the leading underlines will not therefore occur. Note 6: The default pagenumber line is deemed to occur within the defined (or default) footer margin. The line will appear AFTER any lines of footer text. Allowance must be made for the pagenumber line (if any) when defining footer text and footer margins, else bad page structure will result. 5 Headers and Footers The 'header' for a document MAY be specified within the description file, but it is more likely to occur within the document file itself. Multiple lines of header and/or footer may be specified - up to 9 lines of text for either. The parameter type PHD or PFT is IMMEDIATELY followed by a numeric character 1 to 9. The number indicates which line of text is being specified. If the parameter type PHD0 or PFT0 is specified, then the current header or footer is discarded - no header/footer will be printed. This feature is provided as a convenience. After the parameter type PHD1 to PHD9 or PFT1 to PFT9 there follows the text of the header line. If the first character of the text is space, the space is deemed NOT to be part of the text - serving instead merely as a separator between the parameter type and the line text. So, the two following lines have the same effect: ;PHD3 Subordinate Information ;PHD3Subordinate Information In each case the "S" of Subordinate will be the first character of the line printed. Whereas ;PHD3 Subordinate Information will result in the first character of the line being space and the SECOND character is the "S". The first line of the header and/or footer may optionally contain a page number. The requirement for a page number is indicated by the presence of the character "#" on the line. There are three principal forms for the page number: - A single # followed by any character (or end of line) other than another # or "R", indicates that the page number is to be printed LEFT JUSTIFIED at the character position indicated by the # mark. - A series of # characters in succession indicates that the page number is to be printed RIGHT JUSTIFIED in a space denoted by the series of # marks. - A single # followed by the character "R" or "r" indicates that the page number is to be printed LEFT JUSTIFIED at the character position indicated by the # mark, the display to use ROMAN numerals. (Only numbers up to 199 are converted - above this figure, decimals are displayed). For example the three specifications below: ; PHD1Standard heading text Document ref. Page: # ;PHD1 Standard heading text Document ref. Page: #### ; PHD1 Standard heading text Document ref. Page: #R will - for page 14 - produce the following output Standard heading text Document ref. Page: 14 Standard heading text Document ref. Page: 14 Standard heading text Document ref. Page: xiv 6 Heading and footing position Headings are printed within the header margin. Footers are printed within the footer margin. If the number of lines of header/footer text exceeds the header/footer margin, the margin size is increased to at least accomodate the text. If the margin size exceeds the number of header/footer text lines, a blank line will occur at top of page before the header is printed, and/or a blank line will occur after the footer is printed. This is to avoid perforations between succesive pages of continuous stationery. Any header margin lines in excess of (header text lines +1) occur between the last header line and the main text of the page. Any footer margin lines in excess of (footer text lines +1) occur between the last line of main text and the first line of the footer text. 7 Printer features in Headers and Footers The program has been so arranged that different printer features may be used in the headers and footers and the main body of the text. It may help to understand that to arrange this, the program has to keep track of what different features are 'current' at any time, and then when a footer/header is required the printer is given the "reset" code, followed by the "preamble" code and then the (translated) text of the header or footer - which may utilise any of the printer features. After the header/footer has been printed, the "reset" code is again output, followed by the "preamble" code and then the aggregate of the 'feature on' codes that the program has remembered from before the page break. In this way, the main body of text continues in the same printer mode that was in effect before the page break. In the above, the "reset" code is used as a short form for "switch all features off". On your printer, it may have other side effects - for example enabling the paper out sensor - which you do not require. To overcome this problem, you could incorporate the appropriate code sequence - e.g. disable paper out sensor - as part of the "reset" code or as part of the "preamble" code, as you choose. 8 Print starting from a nominated page Printing from a particular page number needs one or two comments. First, since you are allowed to change the page number within a document (using the PPN parameter), the start page number quoted MAY not be unique. The program will use the LOGICAL page number - i.e. the one that is printed on the page - to identify the page you want. You will be aware if you use the PPN command, and will have to watch out for whatever ambiguity that might entail. Second, it is fairly common for 'font settings' to be made right at the start of a document, and never mentioned again thereafter. In fact the same could be true of any print formatting feature. Further, if you are to start printing some fair way through the document, other features may have been changed en route - e.g. header or footer text, font, character spacing, line spacing and so on. A further point is that conditional page breaks may have been specified within the document. All this leads to the situation that the whole document has to be scanned in some detail to establish (a) where actually is the required page start and (b) what printer features, modes etc should actually be in effect when printing commences. The result is that "start from page 31" may go quiet for a while before printing starts - the program is reviewing the previous 30 pages. If you do not want the review to happen, ask for a "fast" scan when prompted "Slow scan or Fast scan". Note also that even though a page number may be output in Roman numerals, it is the decimal version of the page number that is required as a "start from page" specifier. 9 Exchanges and Toggles Your printer may support many text enhancement features. The more common among these are Boldface, Underline, Subscript, Superscript. Some others are Italics, Draft font, NLQ font(s), Compressed, Enlarged, Inverse, Colours, 10 characters per inch, 12 cpi, 6 lines per inch, 8 lpi etc etc. Which features are available varies from one printer to another. (Whether you want to use the features is also up to you to decide). When different printers offer similar features, it is often NOT the case that the two printers require the same sequence of control characters to achieve the same effect. In any case, the control sequence required by the printer to switch into, say, Subscript mode might be quite complicated and consist of very obscure characters. So, it is convenient in the document to ignore what the printer actually needs and to use a system of mnemonic codes to switch on and switch off the various printer features as they are required. The exchange options provided within this program serve the purpose of converting the "edit-time" mnemonics into the "print-time" control sequences. Some of the features of a printer MAY automatically be switched off at the end of a line (the printer manual will clearly state this). A typical feature of this kind is Enlarged (Double Width). Many or most of the features will stay ON from when they are set on until they are explicitly set off. For various reasons, it is necessary for you to indicate in the printer description which features are of the former kind - referred to as Line effect features - and which features are of the latter kind - referred to as Global effect features. Within your document, you will probably want to use a system that requires you to turn on a feature EXPLICITLY and to turn it off EXPLICITLY. It would be dangerous to leave it to the printer to turn a selected feature off - it requires that you remember which features DO get turned off, and in any case this might differ from one printer to another, so swapping documents electronically could become a problem if the recipient has a different type of printer. Assuming that that is agreed, then for each of the features of the printer it is necessary to invent an ON code (for edit-time use) and an OFF code. You might decide that to turn on Boldface, you will key the character CTRL/B. In Editor, this character will be displayed as a capital B with a bar above it. Editor will also know that it is a print control mnemonic and does not count toward the line length, nor does it advance the column position. Now you may decide that you would like a different code to switch off Boldface. You might chose CTRL/O (for Off). There are two immediate consequences. The first is that other features are going to need off codes, and you can't (won't want to) use CTRL/O for all of them. The second is that there is little intuitive connection between CTRL/O and Boldface - it is something that you have to remember. So instead, you may decide that you would like CTRL/B to switch on Boldface AND to switch off Boldface. CTRL/B then becomes a "toggle". Toggles are great to use - the system is neat, and there is a minimum number of codes to remember - but they have one significant disadvantage. If you forget just once to switch off something (Boldface, Underline or whatever), the rest of the document is printed as a mirror of that feature - the next toggle is supposed to switch the feature ON but instead switches it off and so forth. That is where explicit on codes and off codes score. Anyway the choice is yours, since the print program supports both methods. As a summary of the two methods, here are some examples of how the Boldface feature may be defined: Description file fragment (explicit ON/OFF): ;PXG Boldface; #2; #27, E; #14, #2; #27, F . Use CTRL/B to switch ON - generates ESC E . Use CTRL/N CTRL/B to switch off - generates ESC F Document fragment: the next bit {CTRL/B}is in Boldface{CTRL/N}{CTRL/B} now it's off Description file fragment (toggle ON/OFF): ;PTG Boldface; #2; #27, E; #27, F . Use CTRL/B to switch ON/OFF - generates ESC E, ESC F alternately Document fragment: the next bit {CTRL/B}is in Boldface{CTRL/B} now it's off The program supports two types of Exchange and two types of Toggle. In each pair, the difference is that one is for Global effect features and the other is for Line effect features. Exchange format: ;para_type ident; ON_mnemonic; ON_print; OFF_mnemonic; OFF_print para_type is either PXL (line effect) or PXG (global effect). ident is some string that reminds you what the parameter does ON_mnemonic is whatever compound string you have in the document that needs to be replaced. ON_print is the printer control sequence that it should be converted into. OFF_mnemonic and OFF_print are optional. They would be omitted if a conversion sequence was needed to print, for example the pound sign ` or the hash mark # or umlaut or any other special character. Toggle format: ;para_type ident; ON/OFF_mnemonic; ON_print; OFF_print para_type is either PTL (line effect) or PTG (global effect). The others are as above. None is optional. 10 Specifying compound strings Some of the information required for the parameters contains some strange characters, as you will see from your printer manual. Rather than have you searching around for some weird key combinations on the QL, we have set up the string conventions so that information in your printer manual may be entered directly into the driver file. Characters in parameter strings may be expressed either as a letter or sequence of letters - which will be used exactly as they appear (e.g. UPPER CASE or lower case) - or as a decimal number representing the ASCII code for the (single) character to be used. Combinations of letters and decimal numbers are allowed. A comma must be used as a separator. Leading spaces in front of each element of the string are ignored. A decimal number must be prefixed by #. If the # character is required as a letter, it must occur as ##. Neither a comma nor a semicolon character may used in a string of letters. If either is needed, instead use #44 or #59 respectively. Equally, a string may not BEGIN with a space - use #32 if the requirement arises. So, for example, to set up a string as ESC "E" ESC "T14" ESC ";" ESC " AB," the compound string in the parameter line could look like: #27, E, #27, T14, #27, #59, #27, #32, AB, #44 11 Built-in exchange There is one substitution built-in to the program. That is the "non-break space" feature of Editor. If the code ASCII 31 occurs in the document to be printed it will be converted into a space. The effect is as though the following parameter line occurred in every printer description set: ;PXL Non break space; #31; #32 An example parameter set ======================== ;Name Toshiba TH2100H Font 1 ;PPA #27, U06, #27, F1 . set to 6 lpi; default font 1 ;PPO #27, U06, #27, F0 . reset to Draft font (font 0) ;PRS #00 ;PPG 1 ;PPT Seite:, #32 . use default pagenumbering, at default col 40, with . page number appearing as "Seite: nnn" ;PDV ser2 ;PEL #13,#10 ;PBO #15; #15 . Boldface uses program default - no feature on printer . CTRL/O is used for both ON code and OFF code ;PTG Boldface; #15; . "on" code and "off" code are null - 'cos printer does not . support simultaneous Boldface. So "PBO" parameter is used . to tell program to simulate Boldface - using backspace & reprint ;PTG Underline; #21; #27, X; #27, Y . simultaneous u/line supported, so use CTRL/U as toggle code ;PXL Hash sign; #35; #163 ;PXL Pound sign; #96; #35 . above specified as 'straight' translates . - Line effect and no "off" code meaningful ;PXG Draft font; #4; #27, F0 ;PXG Courier NLQ; #6,#1; #27, F1 ;PXG Gothic NLQ; #6,#2; #27, F2 . above specified as 'mode setters' . - no "off" codes, but with Global effect ;PTG Superscript; #22; #27,U12,#27,M; #10,#27,U06 . superscript not supported, so set to 12lpi and do . single reverse linefeed before superscripted printing . After printing, do linefeed and cut back to 6lpi ;PTG Subscript; #20; #27,U12,#10; #27,M,#27,U06 . similar method to superscript ;PSL 3; #27, L . if a left margin (PLM) is specified in doc file, it will . be sent to printer as ESC L and 3 decimal characters 12 Circularity When examining the data to be printed, the program is smart enough to know the difference between, say, "AB" and "ABC". So that if "AB" and "ABC" have both been set up as mnemonic codes, the fact that "AB" occurs as the first part of "ABC" does not present a problem. If the incoming text contains the string "AB", the program will determine whether the next character is "C" before implementing the appropriate exchange. The 'translation' scan of an input line is performed only once, so there is no conflict between the mnemonic codes and the values they are translated to. 13 Maxima The program allows up to 60 exchanges and toggles to be specified. For each, the ON_mnemonic/OFF_mnemonic may be up to 8 characters long (after decoding). The associated ON-print/OFF_print codes may each be up to 16 characters long (after decoding). 14 Error messages These messages each occur at the bottom of the screen, followed by the prompt: "Press any key to continue" 'NEED DRIVER FILE' The F5 option has been selected but no driver file has yet been selected. Use the F3 option, and then use F5. 'Must be "xxxn_", with n= 1 to 6' The device identifier used as the default device (F1 option) conforms to the QL standard for device identifiers. The trailing underscore is assumed, if absent. 'Can't find ddddddddd' The specified driver file (name dddddddd) can not be found on the currently selected device (or it is in use by some other program). Either correct the name or re-select the default device. 'dddddd fffffffff is not available' The print file (name ffffffff) can not be found on the currently selected device (ident ddddddd) - or it is in use. Correct the name or re-select the default device. 'Too many Exchange codes at #nn #nn #nn #nn' The specified printer driver set has more than the allowed maximum number of exchanges. The first exchange in excess of the maximum is displayed in the message (the edit-time code) for reference. The print run does not proceed. 'Duplicate Exchange code #nn #nn #nn #nn' The specified printer driver set contains more than one exchange specification for the same edit-time code. Only the first specification is accepted. The print run will continue. 'PRINT PAUSED' A pause code has been encountered in the input print file. Printing is suspended pending change of daisy-wheel or ribbon or whatever. 'HALTED AT PAGE - on request' The key 'P' has been pressed during printing, and the print run has reached the end of the current page. Printing is suspended pending change or re-alignment of stationery. 'LOAD NEXT SHEET' Cut sheet stationery has been indicated and the print run has reached end of page. Printing is suspended pending insertion of a new sheet.