1 Lisp Library Modules, Medley Release 1.0, FX-80DRIVER 1 Lisp Library Modules, Medley Release 1.0, FX-80DRIVER FX-80DRIVER 1 FX-80DRIVER 1 FX-80DRIVER 6 FX-80Driver(FX-80DRIVER NIL FX-80Driver NIL NIL 99) prints text and graphics on Epson FX-80-compatible printers. It implements a full device-independent graphics interface(GRAPHICS% INTERFACE NIL graphics% interface NIL NIL 99) for the FX-80, and can print source code, TEdit documents, bitmaps and windows at a variety of qualities and speeds. The FX-80Driver contains two printer drivers(PRINTER% DRIVERS NIL printer% drivers NIL NIL 99): a fast driver, for quick printing of draft-quality text, and a high-quality driver, for slower printing of mixed-font text and graphics. You can print early revisions of a document in fast mode, and then switch to high-quality mode for the final copy. The matrix shown in Figure 1 illustrates the capabilities of each mode: ((SKETCH "figure from {DSK}FX-80DRIVERS.TEDIT;1" VERSION 3 PRIRANGE (31 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.0 116.0 (PRI 1)) (WIRE ((96 . 184) (328 . 184)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 2)) (WIRE ((96 . 152) (328 . 152)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 100.0 (PRI 3)) (WIRE ((176 . 248) (176 . 48)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 100.0 (PRI 5)) (WIRE ((232 . 248) (232 . 48)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 7)) (WIRE ((96 . 120) (328 . 120)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 8)) (WIRE ((96 . 88) (328 . 88)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.0 116.0 (PRI 9)) (WIRE ((96 . 216) (328 . 216)) (ROUND 1 BLACK) NIL NIL 1 NIL NIL)) ((0.05 13.0 (PRI 10)) (TEXT (200.0 . 232.0) ("Fast") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((190.5 228.5 19 13)) BLACK)) ((0.05 13.0 (PRI 11)) (TEXT (280.0 . 232.0) ("High-quality") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((251.0 228.5 58 13)) BLACK)) ((0.05 13.0 (PRI 12)) (TEXT (96.0 . 192.0) ("TEdit") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 192 25 13)) BLACK)) ((0.05 13.0 (PRI 13)) (TEXT (96.0 . 160.0) ("Sketch") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 160 31 13)) BLACK)) ((0.05 13.0 (PRI 14)) (TEXT (96.0 . 128.0) ("Windows") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 128 43 13)) BLACK)) ((0.05 13.0 (PRI 15)) (TEXT (96.0 . 92.0) ("Lisp source" "code") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 105 50 13) (96 92 22 13)) BLACK)) ((0.05 13.0 (PRI 16)) (TEXT (96.0 . 64.0) ("Grapher") 1 (LEFT BOTTOM) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((96 64 39 13)) BLACK)) ((0.05 13.0 (PRI 25)) (TEXT (202.0 . 200.0) ("monofont" "only") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((178.5 203.0 47 13) (192.0 190.0 20 13)) BLACK)) ((0.05 13.0 (PRI 26)) (TEXT (202.0 . 104.0) ("monofont" "only") 1 (CENTER BASELINE) (MODERN 10 (MEDIUM REGULAR REGULAR)) ((178.5 107.0 47 13) (192.0 94.0 20 13)) BLACK)) ((0.05 12.0 (PRI 27)) (TEXT (280.0 . 168.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 165.0 21 12)) BLACK)) ((0.05 12.0 (PRI 28)) (TEXT (280.0 . 200.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 197.0 21 12)) BLACK)) ((0.05 12.0 (PRI 29)) (TEXT (280.0 . 136.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 133.0 21 12)) BLACK)) ((0.05 12.0 (PRI 30)) (TEXT (280.0 . 104.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 101.0 21 12)) BLACK)) ((0.05 12.0 (PRI 31)) (TEXT (280.0 . 72.0) ("yes") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((269.5 69.0 21 12)) BLACK))) (93.0 45.0 238.0 206.0) 1.0 8 Figure 1. FX-80 printer drivers For historical reasons, FX-80 in this document refers to any and all of the Epson FX-80 family (FX-80% FAMILY% NIL FX-80% family% NIL NIL 99)of dot-matrix graphics printers. The module supports the FX-80, FX-85, FX-86 and FX-286. The Epson printers vary in speed and carriage width, but share a common command language. Requirements 1 RS232 or TTY cable (see the wiring diagrams in the Introduction of this manual). Serial interface card(SERIAL% INTERFACE% CARD NIL Serial% interface% card NIL NIL 99) in the printer. DLRS23C or DLTTY. Installation 1 FX-80 Serial Interface(FX-80% SERIAL% INTERFACE NIL FX-80% Serial% Interface NIL NIL 99) The FX-80Driver module requires that your Epson be equipped with a suitable serial interface (such as the Hanzon Universal Card(HANZON% UNIVERSAL% CARD NIL HANZON% Universal% Card NIL NIL 99)). The interface should be set up with XOn/XOff flow control enabled, 9600 baud or slower, 1 stop bit, 8 bit characters, no parity. (See The Hanzon Universal Card booklet for instructions on the DIP switch settings.) FX-80 DIP Switch Settings(FX-80% DIP% SWITCH% SETTINGS NIL FX-80% DIP% Switch% Settings NIL NIL 100) The FX-80 should have its DIP switches set as shown in Figure 2. ((SKETCH a% figure% from% a% document VERSION 3 PRIRANGE (62 . 0) SKETCHCONTEXT ((ROUND 1 BLACK) (GACHA 10 (MEDIUM REGULAR REGULAR)) (CENTER BASELINE) (CURVE 18.0 8) NIL NIL (CENTER CENTER) (NIL NIL NIL) T NIL NIL 1 NIL)) ((0.092 64.0 (PRI 61)) (GROUP (200.0 141.0 128.0 92.0) (((0.016 12.0 (PRI 29)) (BOX (248.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 30)) (BOX (200.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 31)) (BOX (216.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 32)) (BOX (232.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 33)) (BOX (232.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 34)) (BOX (216.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 35)) (BOX (248.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 36)) (BOX (200.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 38)) (BOX (312.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 39)) (BOX (264.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 40)) (BOX (280.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 41)) (BOX (296.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 42)) (BOX (296.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 43)) (BOX (280.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 44)) (BOX (312.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 45)) (BOX (264.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.05 12.0 (PRI 46)) (TEXT (208.0 . 144.0) ("1") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((204.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 47)) (TEXT (224.0 . 144.0) ("2") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((220.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 48)) (TEXT (240.0 . 144.0) ("3") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((236.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 49)) (TEXT (256.0 . 144.0) ("4") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((252.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 54)) (TEXT (272.0 . 144.0) ("5") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((268.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 55)) (TEXT (288.0 . 144.0) ("6") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((284.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 56)) (TEXT (304.0 . 144.0) ("7") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((300.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 57)) (TEXT (320.0 . 144.0) ("8") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((316.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 58)) (TEXT (264.0 . 224.0) ("Switch 1") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((236.0 221.0 56 12)) BLACK))) (264 . 184))) ((0.092 49.25 (PRI 62)) (GROUP (61.5 141.0 98.5 92.0) (((0.05 12.0 (PRI 11)) (TEXT (104.0 . 144.0) ("1") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((100.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 12)) (TEXT (120.0 . 144.0) ("2") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((116.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 13)) (TEXT (136.0 . 144.0) ("3") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((132.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 14)) (TEXT (152.0 . 144.0) ("4") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((148.5 141.0 7 12)) BLACK)) ((0.05 12.0 (PRI 17)) (TEXT (72.0 . 192.0) ("on") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((65.0 189.0 14 12)) BLACK)) ((0.05 12.0 (PRI 18)) (TEXT (72.0 . 168.0) ("off") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((61.5 165.0 21 12)) BLACK)) ((0.016 12.0 (PRI 23)) (BOX (144.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 23)) (BOX (96.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 23)) (BOX (112.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 23)) (BOX (128.0 184.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (144.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (128.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (112.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (43605 NIL NIL))) ((0.016 12.0 (PRI 24)) (BOX (96.0 160.0 16.0 24.0) (ROUND 1 BLACK) NIL 1 (NIL NIL NIL))) ((0.05 12.0 (PRI 37)) (TEXT (128.0 . 224.0) ("Switch 2") 1 (CENTER BASELINE) (GACHA 10 (MEDIUM REGULAR REGULAR)) ((100.0 221.0 56 12)) BLACK))) (112 . 184)))) (61.0 141.0 267.0 92.0) 1.0 8 Figure 2. FX-80 DIP switch settings Switch 1 says no automatic linefeed, no automatic paper feed, no buzz on paper-out, and to allow no software deactivation of the printer. Switch 2 says to use the USA character set, Pica type, allocate 2KB for user-defined characters, allow paper-out detection, and print zeros as zeros. Note: For the FX-85, -86 and -286 DIP switch settings, consult the corresponding Epson User's Manual. Software Load FX-80DRIVER.LCOM and the required .LCOM modules from the library. Store all of the font files (file names ending with .displayfont) corresponding to the fonts you wish to use on some convenient directory or directories. HQFX80-FONT-DIRECTORIES(HQFX80-FONT-DIRECTORIES (variable) NIL NIL NIL 100) should be a list that contains these directories; it should be the same as DISPLAYFONTDIRECTORIES(DISPLAYFONTDIRECTORIES (variable) NIL NIL NIL 100). Set FASTFX80-DEFAULT-DESTINATION(FASTFX80-DEFAULT-DESTINATION (variable) NIL NIL NIL 100) (determines where output to the FASTFX80 lineprinter device goes) and HQFX80-DEFAULT-DESTINATION(HQFX80-DEFAULT-DESTINATION (variable) NIL NIL NIL 100) (determines where output to the HQFX80 lineprinter device goes) to one of the following values; they need not be the same: Destination RS232 port TTY port file 1 Value {RS232} {TTY} FileName Speed 9600 max. 4800 max. n/a 1 Load the appropriate device driver for each of these destinations: DLTTY.LCOM for the TTY port, and DLRS232C.LCOM for the RS232C port. Run the function RS232C.INIT or TTY.INIT (as appropriate), and set the baud rate to match the setting on the printer. User Interface 1 You can set up the FX-80 to be your default printer, send FX-80 output to a file for later printing, or programmatically open an image stream that produces output on the FX-80. Having the FX-80 set up as your default printer means that you can print the contents of windows by selecting the HARDCOPY menu item on the window of interest. You can also use the HARDCOPY - TO A FILE submenu item to spool your output for later printing. And you can write programs that use the OPENIMAGESTREAM(OPENIMAGESTREAM (function) NIL NIL NIL 101) function to create FX-80 format graphics output. Printing in Fast Mode(PRINTING% IN% FAST% MODE NIL Printing% in% Fast% Mode NIL NIL 101) 1 You can print in fast mode by sending output to the printer FASTFX80 or by opening an image stream to a file with extension FASTFX80. This mode is called fast because it uses the printer's built-in font, which allows a tight encoding of the document to be printed. Fidelity to the original document is not as good as in high-quality mode. The following restrictions apply: ÿÿïf ÿSpecial characters (that is, most Xerox Network Systems extended characters, such as the bullet or dagger; see CharCodeTables, VirtualKeyboards in this manual) are ignored. ÿÿïf ÿOnly one font is supported (though roman, italic, and bold typefaces do work). ÿÿïf ÿGraphics (lines, underlines, bitmaps) are ignored. ÿÿïf ÿMultiple column output does work. Set FX-80 Fast Mode(ET% FX-80% FAST% MODE NIL et% FX-80% Fast% Mode NIL NIL 101) To set your default printer to be a fast mode FX-80(FAST% MODE% FX-80 NIL fast% mode% FX-80 NIL NIL 101), make the list (FASTFX80 FASTFX80) the CAR of the list DEFAULTPRINTINGHOST. Set FX-80 Destination(SET% FX-80% DESTINATION NIL Set% FX-80% Destination NIL NIL 101) To set the default destination of all output to {LPT}.fastfx80, set the variable FASTFX80-DEFAULT-DESTINATION to an appropriate file name string. See the table above; the file name could be that of a regular file like {DSK}SPOOLED-FAST-OUTPUT. Set FX-80 Page Size(SET% FX-80% PAGE% SIZE NIL Set% FX-80% Page% Size NIL NIL 101) To set the driver's page size to match the paper in the printer, set the two variables \FASTFX80.INCHES-PER-PAGE (page height in inches) and \FASTFX80.INCHES-PER-LINE (page width in inches) to appropriate values. The defaults are 11 and 8.5, respectively. These can be set in your Lisp INIT file. Print a File(PRINT% A% FILE NIL Print% a% File NIL NIL 101) Select the HARDCOPY command from the background (right-button) menu. The system first formats the file for printing. Then, when the FX-80Driver actually starts transmitting to the printer, a small abort window, bearing the name of the document and the name of the printer, will appear near the top of your screen. Abort a Print Job(ABORT% A% PRINT% JOB NIL Abort% a% Print% Job NIL NIL 101) Clicking on the item marked ABORT in the print window will cleanly terminate the printing of the document. Note: After aborting a print job, you may need to turn the printer off and back on to make sure that other files will print successfully. Printing in High-Quality Mode(PRINTING% IN% HIGH-QUALITY% MODE NIL Printing% in% High-Quality% Mode NIL NIL 102) 1 Print in high-quality mode by sending output to the printer HQFX80, or by opening an image stream on a file with type HQFX80. High-quality mode printing supports all of Xerox Lisp's device-independent graphics operations, as well as multiple font printing and the XNS extended character set. It prints at 72 dot-per-inch resolution. Fidelity to the original document is better than in fast mode, though printing speed is slower. Set HQ Mode(SET% HQ% MODE NIL Set% HQ% Mode NIL NIL 102) To set your default printer to be a high-quality FX-80, make the list (HQFX80 HQFX80) the CAR of the list DEFAULTPRINTINGHOST. You can use the PRINTERMENU module or your favorite structure editor to do this. Set Destination(SET% DESTINATION NIL Set% Destination NIL NIL 102) To set the default destination of all output to {LPT}.hqfx80, set the variable HQFX80-DEFAULT-DESTINATION to an appropriate file namestring. This could be "{TTY}", "{RS232}", or even the name of a regular file like "{DSK}spooled-hq-output". Set Page Size(SET% PAGE% SIZE NIL Set% Page% Size NIL NIL 102) To set the driver's page size to match the paper in the printer, set the two variables \HQFX80.INCHES-PER-PAGE (page height in inches) and \HQFX80.INCHES-PER-LINE (page width in inches) to appropriate values. The defaults are 11 and 8.5, respectively. These can be set in your Lisp INIT file. Print a File(PRINT% A% FILE NIL Print% a% File NIL NIL 102) Select the HARDCOPY command. The system first formats the file for printing. Then, when the FX-80Driver actually starts transmitting to the printer, a small abort window, bearing the name of the document and the name of the printer, will appear near the top of your screen. Note: After printing a document on HQFX80, you may need to turn the printer off and back on before you can print with FASTFX80 on that printer. Abort a Print Job(ABORT% A% PRINT% JOB NIL Abort% a% Print% Job NIL NIL 102) See above. FX Printer Compatibility(FX% PRINTER% COMPATIBILITY NIL FX% Printer% Compatibility NIL NIL 102) 1 (FX80-PRINT(FX80-PRINT (function) NIL NIL NIL 102) &KEY THING-TO-PRINT LANDSCAPE? COMPRESS? HIGH-QUALITY?) [Function] THING-TO-PRINT may be one of a window, bitmap, or file path name. If THING-TO-PRINT is a path name, the file will be treated as either a TEdit or Lisp source file, and printed in the appropriate style. In the window or bitmap cases, LANDSCAPE? specifies landscape printing (X-coordinates run down the left margin) when non-NIL; COMPRESS? specifies FX-80 compressed printing mode. If HIGH-QUALITY? is non-NIL and THING-TO-PRINT is a path name, output will be sent to the default high-quality FX-80 printer, otherwise to the default fast FX-80 printer. The LANDSCAPE?, COMPRESS?, and HIGH-QUALITY? arguments all default to NIL. Limitations 1 Landscape printing(LANDSCAPE% PRINTING NIL Landscape% printing NIL NIL 103) has not been implemented. Examples 1 Send text output to fast FX-80:(SEND% TEXT% OUTPUT% TO% FAST% FX-80 NIL Send% text% output% to% fast% FX-80 NIL NIL 103) (SETQ FX-80 (OPENIMAGESTREAM "{LPT}.FASTFX80")) (CL:FORMAT FX-80 "HELLO, WORLD~%%") (CL:CLOSE FX-80) Print source code on fast FX-80(PRINT% SOURCE% CODE% ON% FAST% FX-80 NIL Print% source% code% on% fast% FX-80 NIL NIL 103) (assuming the FastFX80 is not your default printer, but is on the list DEFAULTPRINTINGHOST): (LISTFILES (HOST FASTFX80) "{DSK}MYPROGRAM") Note: Source code is stored in pre-pretty-printed form on the file. The pretty-printer's default linelength (width of a line in characters) is normally 102, which is too wide for the FastFX-80s 8.5-inch wide page. To create source files which print nicely on the fast FX-80, you should set the variable FILELINELENGTH to a more appropriate value before you MAKEFILE. 70 works nicely on 8.5-inch paper with a standard font profile, though your mileage may vary. Print source code in the the fast FX-80 mode, assuming the FastFX80 is your default printer: (LISTFILES "{DSK}MYPROGRAM") Print TEdit file in fast FX-80 mode(PRINT% TEDIT% FILE% IN% FAST% FX-80% MODE NIL Print% TEdit% file% in% fast% FX-80% mode NIL NIL 103), assuming the FastFX80 is your default printer: (LISTFILES "{WAYCOOL:}GENSYM.TEDIT") Print text and graphics in high-quality mode:(PRINT% TEXT% AND% GRAPHICS% IN% % HIGH-QUALITY% MODE NIL Print% text% and% graphics% in% % high-quality% mode NIL NIL 103) (SETQ FX-80 (OPENIMAGESTREAM "{LPT}" 'HQFX80)) (MOVETO 300 300 FX-80) (CL:FORMAT FX-80 "HELLO, WORLD~%%") (DRAWCIRCLE 300 300 230 '(ROUND 8) NIL FX-80) (CL:CLOSE FX-80) Print source code in high-quality mode,(PRINT% SOURCE% CODE% IN% HIGH-QUALITY% MODE NIL Print% source% code% in% high-quality% mode NIL NIL 103) assuming the high-quality FX-80 is not your default printer, but is on the list DEFAULTPRINTINGHOST: (LISTFILES (HOST HQFX80) "{DSK}MYPROGRAM") Note: See the previous note regarding FILELINELENGTH and the fast FX-80. The same holds for high-quality FX-80 printing, and we recommend 70 as the value for FILELINELENGTH. Print source code in high-quality mode, assuming the high-quality FX-80 is your default printer: (LISTFILES "{DSK}MYPROGRAM") Print TEdit file in high-quality mode,(PRINT% % TEDIT% FILE% IN% HIGH-QUALITY% MODE NIL Print% % TEdit% file% in% high-quality% mode NIL NIL 104) assuming the high-quality FX-80 is your default printer: (LISTFILES "{WAYGNARLY:}MAGNUMOPUS.TEDIT") [This page intentionally left blank] (LIST ((PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "") STARTINGPAGE# 99) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (TEXT NIL NIL (54 54 504 702) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD LEFT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (54 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGV) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE VERSOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))) (PAGE NIL (PAPERSIZE Letter FOLIOINFO (ARABIC "" "")) (0 0 612 792) ((FOLIO NIL (PARALOOKS (QUAD RIGHT) CHARLOOKS (SUPERSCRIPT 0 INVISIBLE OFF SELECTPOINT OFF PROTECTED OFF SIZE 10 FAMILY HELVETICA OVERLINE OFF STRIKEOUT OFF UNDERLINE OFF EXPANSION REGULAR SLOPE REGULAR WEIGHT MEDIUM INVERTED OFF USERINFO NIL STYLE NIL) FORMATINFO (ARABIC "" "")) (270 15 288 36) NIL) (HEADING NIL (HEADINGTYPE FOOTINGR) (54 27 558 36) NIL) (HEADING NIL (HEADINGTYPE RECTOHEAD) (54 762 558 36) NIL) (TEXT NIL NIL (54 54 504 684) NIL))))) <``¼Ì8¤àT<``àÀ €àT,HHà 5Hlàlà2llàà2H`à à2HHà à,llà,llà-llàT2Hlà l,HHà -àT2HTàT2Hlàl-$$àT-àT,HHà 2HHà È,HHà,HHà,HHà 3àÈT3ààT<lløÌ8¤øT-T-øäìT2ÌÌø ÈFøø PAGEHEADING VERSOHEADFøø PAGEHEADING RECTOHEADEøø PAGEHEADINGFOOTINGVEøø PAGEHEADINGFOOTINGR HELVETICA CLASSIC CLASSIC CLASSICCLASSIC TITAN  HELVETICA  HELVETICACLASSIC  HELVETICAMODERN MODERN MODERNMODERN TERMINAL MODERN MODERNMODERN   HRULE.GETFNMODERN   7 HRULE.GETFNMODERN  7  HRULE.GETFNMODERN    HRULE.GETFNMODERN    HRULE.GETFNMODERN (IM.INDEX.GETFNy 8IM.INDEX.GETFNv , 2IM.INDEX.GETFNH  0 SKIO.GETFN.2MODERN  "` 0IM.INDEX.GETFNµ     HRULE.GETFNMODERN Q  @IM.INDEX.GETFN     HRULE.GETFNMODERN BIM.INDEX.GETFN @IM.INDEX.GETFN „  7 KIM.INDEX.GETFNB \ SKIO.GETFN.2MODERN  (Š – Q     š 4IM.INDEX.GETFNCLASSIC M 3IM.INDEX.GETFNCLASSIC   9IM.INDEX.GETFNCLASSIC G 7IM.INDEX.GETFNCLASSIC |  % HRULE.GETFNMODERN    HRULE.GETFNMODERN C     M   HRULE.GETFNMODERN ³ * ,IM.INDEX.GETFNCLASSIC 1 CIM.INDEX.GETFN  HRULE.GETFNMODERN U "  ¯  Q  5  $ =IM.INDEX.GETFN3 5IM.INDEX.GETFN(   AIM.INDEX.GETFNR o  ?IM.INDEX.GETFNX  A  /   /IM.INDEX.GETFN + ;IM.INDEX.GETFN J ‰ SIM.INDEX.GETFN  HRULE.GETFNMODERN ¯   -IM.INDEX.GETFNZ  T 3IM.INDEX.GETFNO 3  *   1IM.INDEX.GETFNX  z   /IM.INDEX.GETFN   ;IM.INDEX.GETFN GIM.INDEX.GETFN  HRULE.GETFNMODERN  'IM.INDEX.GETFNMODERN  7 8 x  P   +    }         HRULE.GETFNMODERN   9IM.INDEX.GETFN    HRULE.GETFNMODERN   YIM.INDEX.GETFN 0 $   [IM.INDEX.GETFNH  - 1 ( a ]  # eIM.INDEX.GETFN1  -. {IM.INDEX.GETFN  /  $ . ' iIM.INDEX.GETFNQ   + & k  a  ' kIM.INDEX.GETFN:  3$   QNÆzº