From 496b88a3ff6dc4d166d73c99843930afc8b7a717 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sat, 6 Dec 2025 11:03:36 -0800 Subject: [PATCH] Use :DEFAULT to distinguish specifying the default when the DEFAULTPRINTINGHOST is NIL Restores the Other - abort behavior. --- sources/HARDCOPY | 191 ++++++++++++++++++++++-------------------- sources/HARDCOPY.LCOM | Bin 44334 -> 44566 bytes 2 files changed, 100 insertions(+), 91 deletions(-) diff --git a/sources/HARDCOPY b/sources/HARDCOPY index e0efaeb9..f04908c8 100644 --- a/sources/HARDCOPY +++ b/sources/HARDCOPY @@ -1,10 +1,11 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED " 6-Dec-2025 00:46:05" {WMEDLEY}HARDCOPY.;94 149688 +(FILECREATED " 6-Dec-2025 10:59:31" {WMEDLEY}HARDCOPY.;95 150352 :EDIT-BY rmk - :CHANGES-TO (FNS HARDCOPYREGION.TOPRINTER) + :CHANGES-TO (FNS MakeMenuOfPrinters HARDCOPYIMAGEW.TOPRINTER HARDCOPYREGION.TOPRINTER + NewPrinter HARDCOPYW) :PREVIOUS-DATE " 5-Dec-2025 17:24:03" {WMEDLEY}HARDCOPY.;93) @@ -175,28 +176,31 @@ (HARDCOPY.SOMEHOW W (GetImageFile W]) (HARDCOPYIMAGEW.TOPRINTER - [LAMBDA (W DEFAULTPRINTER) (* ; "Edited 5-Dec-2025 17:23 by rmk") + [LAMBDA (W DEFAULTPRINTER) (* ; "Edited 6-Dec-2025 10:58 by rmk") (* ; "Edited 19-Sep-2025 15:54 by rmk") (* ; "Edited 18-Oct-2022 18:45 by lmm") (* ; "Edited 22-Apr-98 16:19 by rmk:") (* ; "Edited 11-Jul-90 13:55 by jds") (LET ((PRINTERCHOICE (CL:IF DEFAULTPRINTER - (CAR (PRINTERS)) + :DEFAULT (GetPrinterName))) PRINTERTYPE) - (if (LISTP PRINTERCHOICE) - then (* ; + (CL:WHEN PRINTERCHOICE + (CL:WHEN (EQ PRINTERCHOICE :DEFAULT) + (SETQ PRINTERCHOICE (DEFAULTPRINTER))) + (if (LISTP PRINTERCHOICE) + then (* ;  "Got back a list, which is (TYPE NAME). Break it apart.") - (SETQ PRINTERTYPE (CAR PRINTERCHOICE)) - (SETQ PRINTERCHOICE (CADR PRINTERCHOICE)) - else (* ; "Got back just a name.") - (SETQ PRINTERTYPE (PRINTERTYPE PRINTERCHOICE))) + (SETQ PRINTERTYPE (CAR PRINTERCHOICE)) + (SETQ PRINTERCHOICE (CADR PRINTERCHOICE)) + else (* ; "Got back just a name.") + (SETQ PRINTERTYPE (PRINTERTYPE PRINTERCHOICE))) - (* ;; "HARDCOPY.SOMEHOW applies the window's HARDCOPYFN, or HARDCOPYW. But maybe the window should just be passed as a file to SEND.FILE.TO.PRINTER, and let its heuristics figure out what to do (CANPRINT, PREFERRED, etc.).") + (* ;; "HARDCOPY.SOMEHOW applies the window's HARDCOPYFN, or HARDCOPYW. But maybe the window should just be passed as a file to SEND.FILE.TO.PRINTER, and let its heuristics figure out what to do (CANPRINT, PREFERRED, etc.).") - (SEND.FILE.TO.PRINTER (HARDCOPY.SOMEHOW W (OPENSTREAM '{NODIRCORE} 'OUTPUT) - PRINTERTYPE) - PRINTERCHOICE]) + (SEND.FILE.TO.PRINTER (HARDCOPY.SOMEHOW W (OPENSTREAM '{NODIRCORE} 'OUTPUT) + PRINTERTYPE) + PRINTERCHOICE))]) (HARDCOPYREGION.TOFILE [LAMBDA NIL (* ; "Edited 26-Aug-87 14:08 by Snow") @@ -211,24 +215,29 @@ NIL NIL NIL (CDR FILE&TYPE]) (HARDCOPYREGION.TOPRINTER - [LAMBDA NIL (* ; "Edited 6-Dec-2025 00:45 by rmk") + [LAMBDA NIL (* ; "Edited 6-Dec-2025 10:24 by rmk") (* ; "Edited 13-Jul-90 01:57 by jds") (LET ((PRINTERCHOICE (GetPrinterName)) PRINTERTYPE) - [COND - ((LISTP PRINTERCHOICE) (* ; + (CL:WHEN PRINTERCHOICE + (CL:WHEN (EQ PRINTERCHOICE :DEFAULT) + (SETQ PRINTERCHOICE (DEFAULTPRINTER))) + (if (LISTP PRINTERCHOICE) + then (* ;  "Got back a list, which is (TYPE NAME). Break it apart.") - (SETQ PRINTERTYPE (CAR PRINTERCHOICE)) - (SETQ PRINTERCHOICE (CADR PRINTERCHOICE))) - (PRINTERCHOICE (* ; "Got back just a name.") - (SETQ PRINTERTYPE (PRINTERTYPE PRINTERCHOICE] - (PROG (REGION) - (SPAWN.MOUSE) - (PROMPTPRINT "Select a region") - (SETQ REGION (GETREGION)) - (CLRPROMPT) - (HARDCOPYW REGION (PACK* '{LPT} PRINTERCHOICE) - NIL NIL NIL (PRINTERTYPE PRINTERCHOICE]) + (SETQ PRINTERTYPE (CAR PRINTERCHOICE)) + (SETQ PRINTERCHOICE (CADR PRINTERCHOICE)) + elseif PRINTERCHOICE + then (SETQ PRINTERCHOICE (CAR)) + PRINTERCHOICE (* ; "Got back just a name.") + (SETQ PRINTERTYPE (PRINTERTYPE PRINTERCHOICE))) + (LET (REGION) + (SPAWN.MOUSE) + (PROMPTPRINT "Select a region") + (SETQ REGION (GETREGION)) + (CLRPROMPT) + (HARDCOPYW REGION (PACK* '{LPT} PRINTERCHOICE) + NIL NIL NIL (PRINTERTYPE PRINTERCHOICE))))]) (COPY.WINDOW.TO.BITMAP [LAMBDA (WINDOW) (* ; "Edited 26-Aug-87 14:09 by Snow") @@ -260,13 +269,13 @@ (DEFINEQ (MakeMenuOfPrinters - [LAMBDA (MENUTITLE) (* ; "Edited 5-Dec-2025 12:47 by rmk") + [LAMBDA (MENUTITLE) (* ; "Edited 6-Dec-2025 09:52 by rmk") (* ; "Edited 22-Jun-2023 17:30 by rmk") (* ; "Edited 29-May-93 14:18 by rmk:") (* ; "Edited 11-Jul-90 13:35 by jds") (DECLARE (GLOBALVARS DEFAULTPRINTINGHOST)) (create MENU - ITEMS _ `(("(Default printer)" NIL) + ITEMS _ `(("(Default printer)" (KWOTE :DEFAULT)) ,@(for P in (PRINTERS) unless (OR (NULL P) (ZEROP (NCHARS P))) collect (* ; "Skipped the NIL %"%" defaults") @@ -385,27 +394,28 @@ (CAR RESPONSE))])]) (NewPrinter - [LAMBDA (PRINTER NEW-DEFAULT?) (* ; "Edited 5-Dec-2025 13:21 by rmk") + [LAMBDA (PRINTER NEW-DEFAULT?) (* ; "Edited 6-Dec-2025 10:01 by rmk") (* ; "Edited 11-Jul-90 13:48 by jds") (* ;;; "If Printer is unknown it will be added to DEFAULTPRINTINGHOST. In addition, if NEW-DEFAULT? is true the printer will be pushed to the head of DEFAULTPRINTINGHOST, thus making it the default printer.") (DECLARE (GLOBALVARS DEFAULTPRINTINGHOST)) - (LET* ((PRINTERS (PRINTERS)) - (PRINTER-NAME (CL:IF (LISTP PRINTER) - (CADR PRINTER) - PRINTER)) - [MEMBER? (CL:MEMBER PRINTER-NAME PRINTERS :TEST '(LAMBDA (PRINTER ENTRY) - (STRING-EQUAL PRINTER - (CL:IF (LISTP ENTRY) - (CADR ENTRY) - ENTRY)] - (ENTRY (CL:IF MEMBER? - (CAR MEMBER?) - PRINTER))) - (SETQ DEFAULTPRINTINGHOST (CL:IF NEW-DEFAULT? - (CONS ENTRY (REMOVE ENTRY PRINTERS)) - (NCONC1 PRINTERS ENTRY))]) + (CL:UNLESS (EQ :DEFAULT PRINTER) + [LET* ((PRINTERS (PRINTERS)) + (PRINTER-NAME (CL:IF (LISTP PRINTER) + (CADR PRINTER) + PRINTER)) + [MEMBER? (CL:MEMBER PRINTER-NAME PRINTERS :TEST '(LAMBDA (PRINTER ENTRY) + (STRING-EQUAL PRINTER + (CL:IF (LISTP ENTRY) + (CADR ENTRY) + ENTRY)] + (ENTRY (CL:IF MEMBER? + (CAR MEMBER?) + PRINTER))) + (SETQ DEFAULTPRINTINGHOST (CL:IF NEW-DEFAULT? + (CONS ENTRY (REMOVE ENTRY PRINTERS)) + (NCONC1 PRINTERS ENTRY))])]) (GetPrinterName [LAMBDA NIL (* ; "Edited 29-May-93 13:58 by rmk:") @@ -502,6 +512,7 @@ (HARDCOPYW [LAMBDA (WINDOW/BITMAP/REGION FILE HOST SCALEFACTOR ROTATION PRINTERTYPE HARDCOPYTITLE) + (* ; "Edited 6-Dec-2025 10:33 by rmk") (* ; "Edited 27-Sep-2025 07:42 by rmk") (* ; "Edited 19-Sep-2025 17:59 by rmk") (* ; "Edited 18-Sep-2025 11:12 by rmk") @@ -513,6 +524,8 @@ (* ;; "WINDOW/BITMAP/REGION can be a WINDOW, a REGION, a BITMAP, or NIL = select region. If FILE supplied, output goes there. If HOST supplied, it is printed. If neither FILE nor HOST supplied, default is to print; if HARDCOPYTITLE is supplied it will be used as the document title of the hardcopy file created. If it isn't, 'Window Image' is used.") + (CL:WHEN (MEMB HOST '(NIL :DEFAULT)) + (SETQ HOST (DEFAULTPRINTER))) (PROG (PRINTHOST BITMAP SCREENREGION REGION BITMAPFILE) [SETQ BITMAP (if (WINDOWP WINDOW/BITMAP/REGION) then (COPY.WINDOW.TO.BITMAP WINDOW/BITMAP/REGION) @@ -534,22 +547,18 @@ elseif FILE then (* ;  "don't need a PRINTHOST if you give a file") - elseif [SETQ PRINTHOST (find HOST inside DEFAULTPRINTINGHOST + elseif [SETQ PRINTHOST (find HOST inside (PRINTERS) suchthat (EQ PRINTERTYPE (PRINTERTYPE HOST] else (ERROR "Can't find a printing host in DEFAULTPRINTINGHOST that is of type " PRINTERTYPE) (GO RETRY)) - elseif PRINTHOST - then (SETQ PRINTERTYPE (PRINTERTYPE PRINTHOST)) - elseif DEFAULTPRINTINGHOST - then (SETQ PRINTHOST (DEFAULTPRINTER)) - (SETQ PRINTERTYPE (PRINTERTYPE PRINTHOST)) + elseif (SETQ PRINTERTYPE (PRINTERTYPE PRINTHOST)) elseif FILE then (CL:UNLESS (SETQ PRINTERTYPE (IMAGEFILETYPE FILE T)) (ERROR FILE "Can't tell what kind of print file to produce -- PRINTERTYPE, DEFAULTPRINTERTYPE, DEFAULTPRINTINGHOST all NIL" ) (GO RETRY)) - else (ERROR "Can't tell where to send window image -- HOST, DEFAULTPRINTINGHOST are NIL") + else (ERROR "Can't tell where to send window image -- HOST NIL") (GO RETRY)) (CL:UNLESS SCALEFACTOR (SETQ SCALEFACTOR (if REGION @@ -567,9 +576,9 @@ "Window Image")) ) (CL:WHEN (OR HOST (NULL FILE)) - [SEND.FILE.TO.PRINTER BITMAPFILE HOST '(DELETE ,(NULL FILE) - DOCUMENT.NAME - ,(OR HARDCOPYTITLE "Window Image"]) + [SEND.FILE.TO.PRINTER BITMAPFILE HOST '(DELETE %, (NULL FILE) + DOCUMENT.NAME %, (OR HARDCOPYTITLE + "Window Image"]) (RETURN (AND FILE BITMAPFILE]) (LISTFILES1 @@ -2408,39 +2417,39 @@ (ADDTOVAR LAMA ) ) (DECLARE%: DONTCOPY - (FILEMAP (NIL (6398 13705 (HARDCOPY.SOMEHOW 6408 . 8644) (HARDCOPYIMAGEW 8646 . 9096) ( -HARDCOPYIMAGEW.TOFILE 9098 . 9390) (HARDCOPYIMAGEW.TOPRINTER 9392 . 11057) (HARDCOPYREGION.TOFILE -11059 . 11601) (HARDCOPYREGION.TOPRINTER 11603 . 12684) (COPY.WINDOW.TO.BITMAP 12686 . 13703)) (13777 -26081 (MakeMenuOfPrinters 13787 . 15245) (PRINTERS.WHENSELECTEDFN 15247 . 16870) (MakeMenuOfImageTypes - 16872 . 17691) (GetNewPrinterFromUser 17693 . 18135) (PopUpWindowAndGetAtom 18137 . 19588) ( -PopUpWindowAndGetList 19590 . 21160) (NewPrinter 21162 . 22558) (GetPrinterName 22560 . 22848) ( -GetImageFile 22850 . 25829) (FetchDefaultPrinter 25831 . 26079)) (26136 44226 (DEFAULTPRINTER 26146 . -26407) (CONVERT.FILE.TO.TYPE.FOR.PRINTER 26409 . 27386) (CAN.PRINT.DIRECTLY 27388 . 27821) (EMPRESS -27823 . 28398) (HARDCOPYW 28400 . 33304) (LISTFILES1 33306 . 33483) (PRINTER.BITMAPFILE 33485 . 33874) - (PRINTER.BITMAPSCALE 33876 . 34360) (PRINTER.SCRATCH.FILE 34362 . 34673) (PRINTERPROP 34675 . 34925) -(PRINTERSTATUS 34927 . 35202) (PRINTERTYPE 35204 . 37839) (PRINTERNAME 37841 . 38927) (PRINTFILETYPE -38929 . 39191) (PRINTERTYPEP 39193 . 39418) (SEND.FILE.TO.PRINTER 39420 . 44224)) (44227 50786 ( -PRINTERDEVICE 44237 . 45214) (PRINTERDEVICE.OPENFN 45216 . 45936) (PRINTERDEVICE.CLOSEFN 45938 . 49023 -) (PRINTERDEVICEP 49025 . 49696) (PRINTERNAME 49698 . 50784)) (50848 52488 (PRINTERS 50858 . 52486)) ( -52783 53341 (SCALEREGION 52793 . 53339)) (53565 60628 (TEXTTOIMAGEFILE 53575 . 54434) ( -COPY.TEXT.TO.IMAGE 54436 . 60626)) (60690 62433 (\BLTSHADE.GENERICPRINTER 60700 . 62431)) (62500 99666 - (MAKEHARDCOPYSTREAM 62510 . 64226) (UNMAKEHARDCOPYSTREAM 64228 . 65158) (HARDCOPYSTREAMTYPE 65160 . -65567) (\CHARWIDTH.HDCPYDISPLAY 65569 . 66389) (\DSPFONT.HDCPYDISPLAY 66391 . 69186) ( -\DSPRIGHTMARGIN.HDCPYDISPLAY 69188 . 70043) (\DSPXPOSITION.HDCPYDISPLAY 70045 . 70420) ( -\DSPYPOSITION.HDCPYDISPLAY 70422 . 70797) (\STRINGWIDTH.HDCPYDISPLAY 70799 . 71754) ( -\STRINGWIDTH.HCPYDISPLAYAUX 71756 . 77096) (\HDCPYBLTCHAR 77098 . 81995) (\HDCPYDISPLAY.FIX.XPOS 81997 - . 82754) (\HDCPYDISPLAY.FIX.YPOS 82756 . 83497) (\HDCPYDISPLAYINIT 83499 . 85189) (\HDCPYDSPPRINTCHAR - 85191 . 91104) (\SLOWHDCPYBLTCHAR 91106 . 97722) (\CHANGECHARSET.HDCPYDISPLAY 97724 . 99664)) (99981 -149532 (MAKEHARDCOPYMODESTREAM 99991 . 102712) (UNMAKEHARDCOPYMODESTREAM 102714 . 104304) ( -\HCPYDISPLAYIMAGEOPS 104306 . 107126) (\BLTSHADE.HCPYMODE 107128 . 107794) (\BITBLT.HCPYMODE 107796 . -108544) (\BRUSHCONVERT.HCPYMODE 108546 . 109095) (\CHANGECHARSET.HCPYMODE 109097 . 112359) ( -\DASHINGCONVERT.HCPYMODE 112361 . 112702) (\CHARWIDTH.HCPYMODE 112704 . 113141) (\DRAWLINE.HCPYMODE -113143 . 113672) (\DRAWCURVE.HCPYMODE 113674 . 114261) (\DRAWCIRCLE.HCPYMODE 114263 . 114748) ( -\DRAWELLIPSE.HCPYMODE 114750 . 115434) (\DSPFONT.HCPYMODE 115436 . 118120) (\DSPLEFTMARGIN.HCPYMODE -118122 . 118864) (\DSPLINEFEED.HCPYMODE 118866 . 119499) (\DSPRIGHTMARGIN.HCPYMODE 119501 . 120569) ( -\DSPSPACEFACTOR.HCPYMODE 120571 . 121346) (\DSPXPOSITION.HCPYMODE 121348 . 122366) ( -\DSPYPOSITION.HCPYMODE 122368 . 123018) (\MOVETO.HCPYMODE 123020 . 123234) (\FONTCREATE.HCPYMODE -123236 . 125193) (\CREATECHARSET.HCPYMODE 125195 . 126918) (\STRINGWIDTH.HCPYMODE 126920 . 127715) ( -\HCPYMODEBLTCHAR 127717 . 133467) (\HCPYMODEDSPPRINTCHAR 133469 . 139403) (\SLOWHCPYMODEBLTCHAR 139405 - . 146034) (\SFFixY.HCPYMODE 146036 . 149530))))) + (FILEMAP (NIL (6487 14272 (HARDCOPY.SOMEHOW 6497 . 8733) (HARDCOPYIMAGEW 8735 . 9185) ( +HARDCOPYIMAGEW.TOFILE 9187 . 9479) (HARDCOPYIMAGEW.TOPRINTER 9481 . 11310) (HARDCOPYREGION.TOFILE +11312 . 11854) (HARDCOPYREGION.TOPRINTER 11856 . 13251) (COPY.WINDOW.TO.BITMAP 13253 . 14270)) (14344 +26760 (MakeMenuOfPrinters 14354 . 15825) (PRINTERS.WHENSELECTEDFN 15827 . 17450) (MakeMenuOfImageTypes + 17452 . 18271) (GetNewPrinterFromUser 18273 . 18715) (PopUpWindowAndGetAtom 18717 . 20168) ( +PopUpWindowAndGetList 20170 . 21740) (NewPrinter 21742 . 23237) (GetPrinterName 23239 . 23527) ( +GetImageFile 23529 . 26508) (FetchDefaultPrinter 26510 . 26758)) (26815 44890 (DEFAULTPRINTER 26825 . +27086) (CONVERT.FILE.TO.TYPE.FOR.PRINTER 27088 . 28065) (CAN.PRINT.DIRECTLY 28067 . 28500) (EMPRESS +28502 . 29077) (HARDCOPYW 29079 . 33968) (LISTFILES1 33970 . 34147) (PRINTER.BITMAPFILE 34149 . 34538) + (PRINTER.BITMAPSCALE 34540 . 35024) (PRINTER.SCRATCH.FILE 35026 . 35337) (PRINTERPROP 35339 . 35589) +(PRINTERSTATUS 35591 . 35866) (PRINTERTYPE 35868 . 38503) (PRINTERNAME 38505 . 39591) (PRINTFILETYPE +39593 . 39855) (PRINTERTYPEP 39857 . 40082) (SEND.FILE.TO.PRINTER 40084 . 44888)) (44891 51450 ( +PRINTERDEVICE 44901 . 45878) (PRINTERDEVICE.OPENFN 45880 . 46600) (PRINTERDEVICE.CLOSEFN 46602 . 49687 +) (PRINTERDEVICEP 49689 . 50360) (PRINTERNAME 50362 . 51448)) (51512 53152 (PRINTERS 51522 . 53150)) ( +53447 54005 (SCALEREGION 53457 . 54003)) (54229 61292 (TEXTTOIMAGEFILE 54239 . 55098) ( +COPY.TEXT.TO.IMAGE 55100 . 61290)) (61354 63097 (\BLTSHADE.GENERICPRINTER 61364 . 63095)) (63164 +100330 (MAKEHARDCOPYSTREAM 63174 . 64890) (UNMAKEHARDCOPYSTREAM 64892 . 65822) (HARDCOPYSTREAMTYPE +65824 . 66231) (\CHARWIDTH.HDCPYDISPLAY 66233 . 67053) (\DSPFONT.HDCPYDISPLAY 67055 . 69850) ( +\DSPRIGHTMARGIN.HDCPYDISPLAY 69852 . 70707) (\DSPXPOSITION.HDCPYDISPLAY 70709 . 71084) ( +\DSPYPOSITION.HDCPYDISPLAY 71086 . 71461) (\STRINGWIDTH.HDCPYDISPLAY 71463 . 72418) ( +\STRINGWIDTH.HCPYDISPLAYAUX 72420 . 77760) (\HDCPYBLTCHAR 77762 . 82659) (\HDCPYDISPLAY.FIX.XPOS 82661 + . 83418) (\HDCPYDISPLAY.FIX.YPOS 83420 . 84161) (\HDCPYDISPLAYINIT 84163 . 85853) (\HDCPYDSPPRINTCHAR + 85855 . 91768) (\SLOWHDCPYBLTCHAR 91770 . 98386) (\CHANGECHARSET.HDCPYDISPLAY 98388 . 100328)) ( +100645 150196 (MAKEHARDCOPYMODESTREAM 100655 . 103376) (UNMAKEHARDCOPYMODESTREAM 103378 . 104968) ( +\HCPYDISPLAYIMAGEOPS 104970 . 107790) (\BLTSHADE.HCPYMODE 107792 . 108458) (\BITBLT.HCPYMODE 108460 . +109208) (\BRUSHCONVERT.HCPYMODE 109210 . 109759) (\CHANGECHARSET.HCPYMODE 109761 . 113023) ( +\DASHINGCONVERT.HCPYMODE 113025 . 113366) (\CHARWIDTH.HCPYMODE 113368 . 113805) (\DRAWLINE.HCPYMODE +113807 . 114336) (\DRAWCURVE.HCPYMODE 114338 . 114925) (\DRAWCIRCLE.HCPYMODE 114927 . 115412) ( +\DRAWELLIPSE.HCPYMODE 115414 . 116098) (\DSPFONT.HCPYMODE 116100 . 118784) (\DSPLEFTMARGIN.HCPYMODE +118786 . 119528) (\DSPLINEFEED.HCPYMODE 119530 . 120163) (\DSPRIGHTMARGIN.HCPYMODE 120165 . 121233) ( +\DSPSPACEFACTOR.HCPYMODE 121235 . 122010) (\DSPXPOSITION.HCPYMODE 122012 . 123030) ( +\DSPYPOSITION.HCPYMODE 123032 . 123682) (\MOVETO.HCPYMODE 123684 . 123898) (\FONTCREATE.HCPYMODE +123900 . 125857) (\CREATECHARSET.HCPYMODE 125859 . 127582) (\STRINGWIDTH.HCPYMODE 127584 . 128379) ( +\HCPYMODEBLTCHAR 128381 . 134131) (\HCPYMODEDSPPRINTCHAR 134133 . 140067) (\SLOWHCPYMODEBLTCHAR 140069 + . 146698) (\SFFixY.HCPYMODE 146700 . 150194))))) STOP diff --git a/sources/HARDCOPY.LCOM b/sources/HARDCOPY.LCOM index a31e59536cbab9ad3bd9a79e0db36a9ad4790e17..bba52571877073382eb78fb810d788d20d922240 100644 GIT binary patch delta 1343 zcmZ`(U2hvj6!qHqa9t4yNl_9B^~NHRjnu?5v!9kgY}QlnD&CLou5l_rYJyD@O5!R+ zs!&u#LQsh}!ieUr@WLaIbX5r>r2c|Rh{uYT{)5s#P-Zu4CzfCzMx#4-?woVax%dC#|;kov&>xi~%TbnbY&TRVH5 zT`+aOX1Lz<*5R{xmJ{%x40}hooRW!ahEPq2Ad`$vW%XopPZhV{n_H z*9<{YVBc|TmT$N|y$e`^YI+}JsE()m=&vzJ5Vvw1|2YyL{U3>M%%jb<3o+Xso6oBU zuVqT8f(J}mpvgm^RRuiVSbZB535+^ zyUl=tC=J!)EY3F}OMUidetJ$tu;1{)yMUAdOWq8SwCF|t<;YZNwdIEN?5JEWu=Q7F zqE{z=x;Sxdge&>pscKQ3^=7HO$$2RVK6DJ%F>u^UpW5#GTm+5NsM^$C;dVo$k1gPj zDKbNIZ_H>=4QasJfA$&&Lc}PXdon)z*?1;1zS4~wScsRSr0E+YkJ)0eY1}X$&QmjK z@AL0YGGCfWB26-r<@l){-AZ*Dv)j?s>ub>m=aP@u( zB}Fz0KkH`*PF{A|i{j^FnGzvVV$B>uD!cLH^a0ki^M1t2K-;AiE3|blF!TlmEQ&yV z-}M2L3Rt#Yr&p~8O-ze1?w?hLl|NX1VgNc9s)wc z#WWQH!>80a#RaMw8|*Zc+Dyg6DO^)}twEi7XaZrszBRLnRcKjG&24#ru|Hy1)rMz`4{(YAOIm*`l5`h4l8_23EUwM~;nQ1eZSAzXcfi_Szu77B_GtxH zTiDHEq_Ez?@&$0LMv;RdY5LZ7*5jdhbvZBp=w3@TD9$pw3*4rW{aR{cD5Vbe3;F;6-C_IMXOk$7CeX+ zLA?oX2YOLZ3%yEfC|D2_?;brUJ$dXw`~|L)>_=P7VKSNbnR%b*eV@tVhVcHU@bX5N zD2~eNsHjx$jPP>xm0I0Q(33pyahlyVIy;J7doJAPi^ zI6+_R;@HDKjb4capPOo1iJsi}!mv^^kW32l0LodPHkc#1|Z8)}p zLDs+{mUD@KBr-aq7O}>N$8t1^8x~Kc=v+@X7GcyU1wTxImEg*eZ=LP8J2|eC>L-f& zwcLk3l8XxRC%BWl7gmPE!!a6GHuRu)J^V~0I;^SS!2XGVYy+))qCZX?J-n8PFiWdk z-5(Rtfs^si^wi1wMSX2=v?W?xt;MFJqbK7FtF<{jibM;me>b@yNl5|mJjVk`7QwXi zagsIjB07!RVwp;1yW{Yd%+P0@WwD?8vRW&pz@#IBPAb{aEFeW_s?*3umii6yw0 zC-%6X1EkREo1QVypk&$^r{uC0VnuA;2rM)6Y+VV!Sb|0(%-A)iNK=5mTRPAV2-jx` zXaOVJDVQz}%(h8brMm}5gfkI*50qysz^vHMY^+jg;KHFeU?!lyG(9tQ?*W*1%Qq|i X?3aP4F-T&7M47%AJQ%DEmY@Fvf(#{~