Hardcopy to printer (#2290)
* Separate interface for imagefile creation from the send-to-printer interface * SEND.FILE.TO.PRINTER recognizes :DEFAULTPRINTER * Various changes to address #2414 * Move BITMAP properties from PRINTERTYPES to PRINTFILETYPES. * Fix ShellOpen, add UNIX-TMP-FILE-NAME * Include COERCEFONTSPEC changes in anticipation of HTML streams * PDFSTREAM compatible with new imagefile architecture plus able to convert non-local Postscript streams * SKETCH compatible with new imagefile/printing architecture * TEDIT compatible with new printing architecture * Tedit files are of type TEDIT, not TEXT, new interface function TEDIT.TO.IMAGEFILE * ATTACHEDWINDOW: DOATTACHEDWINDOWCOM allows menu to have a form to EVAL, like the background menu * WINDOW: fix menus for new hardcopy architecture * Remove FLUSHFONTSINCORE--FLUSHFONTCACHE is more general * LOAD character names as suggested in PR #2398 * HARDCOPYW respects file extension * VIEWER as default printinghost * SLASHIT interprets '. * MCCS to UTF8 conversion on printer name * Deal with {LPT}.LOCAL and upper casing * @ LPT printers work with exact upper/lower matching * Using NSPRINT functions to recognize fax * Let "UNIX" be the name of the default printer of type UNIX
This commit is contained in:
109
sources/NSPRINT
109
sources/NSPRINT
@@ -1,14 +1,13 @@
|
||||
(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP")
|
||||
(FILECREATED "28-Apr-92 17:29:44" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>NSPRINT.;3| 30963
|
||||
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
|
||||
|
||||
changes to%: (FNS \NSPRINT.INTERNAL)
|
||||
(FILECREATED "19-Jan-2026 13:20:47" {WMEDLEY}<sources>NSPRINT.;4 31625
|
||||
|
||||
previous date%: "16-May-90 20:54:31" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>NSPRINT.;2|)
|
||||
:EDIT-BY rmk
|
||||
|
||||
:CHANGES-TO (FNS \FAX.PARSE.NAME FAX.HOSTNAMEP)
|
||||
|
||||
:PREVIOUS-DATE "12-Dec-2025 19:35:12" {WMEDLEY}<sources>NSPRINT.;2)
|
||||
|
||||
(* ; "
|
||||
Copyright (c) 1984, 1985, 1986, 1987, 1990, 1992 by Venue & Xerox Corporation. All rights reserved.
|
||||
")
|
||||
|
||||
(PRETTYCOMPRINT NSPRINTCOMS)
|
||||
|
||||
@@ -37,10 +36,7 @@ Copyright (c) 1984, 1985, 1986, 1987, 1990, 1992 by Venue & Xerox Corporation.
|
||||
(HOSTNAMEP FAX.HOSTNAMEP)
|
||||
(STATUS FAX.STATUS)
|
||||
(PROPERTIES FAX.PROPERTIES)
|
||||
(SEND FAX.SEND.FILE)
|
||||
(BITMAPSCALE INTERPRESS.BITMAPSCALE)
|
||||
(BITMAPFILE (INTERPRESSBITMAP FILE BITMAP SCALEFACTOR REGION
|
||||
ROTATION TITLE])
|
||||
(SEND FAX.SEND.FILE])
|
||||
|
||||
(COURIERPROGRAM PRINTING (4 3)
|
||||
TYPES
|
||||
@@ -448,14 +444,61 @@ Copyright (c) 1984, 1985, 1986, 1987, 1990, 1992 by Venue & Xerox Corporation.
|
||||
)
|
||||
|
||||
(FAX.HOSTNAMEP
|
||||
(LAMBDA (PRINTERNAME) (* bvm%: "16-Sep-85 22:51") (* ;;; "True if PRINTERNAME is something that looks like a FAX spec, i.e., person@place, where place is a phone number or something registered as a fax address. Stupid for now") (AND (STRPOS "@" PRINTERNAME) (QUOTE FAX)))
|
||||
)
|
||||
[LAMBDA (PRINTERNAME) (* ; "Edited 19-Jan-2026 12:15 by rmk")
|
||||
(* bvm%: "16-Sep-85 22:51")
|
||||
|
||||
(* ;;; "True if PRINTERNAME is something that looks like a FAX spec, i.e., person@place, where place is a phone number or something registered as a fax address. Stupid for now")
|
||||
|
||||
(CL:WHEN (if PRINTERNAME
|
||||
then (CAR (\FAX.PARSE.NAME PRINTERNAME T))
|
||||
elseif DEFAULTFAXHOST)
|
||||
'FAX])
|
||||
|
||||
(\FAX.PARSE.NAME
|
||||
(LAMBDA (PLACE) (* bvm%: "17-Sep-85 15:58") (* ;;; "Parse a Fax spec 'Person@Place' and return a dotted pair (FaxServer . PrintOptions)") (PROG (AT PERSON DESTINATION PHONE HOST MSG INFO) RETRY (SETQ AT (STRPOS "@" PLACE)) (COND ((SETQ PERSON (AND (NEQ AT 1) (SUBSTRING PLACE 1 (SUB1 AT)))) (SETQ PERSON (LIST (QUOTE RECIPIENT.NAME) PERSON)))) (SETQ DESTINATION (SUBSTRING PLACE (ADD1 AT))) (COND ((for CH instring DESTINATION always (OR (DIGITCHARP CH) (EQ CH (CHARCODE -)) (EQ CH (CHARCODE *)) (EQ CH (CHARCODE %#)))) (* ; "Looks like a phone number") (SETQ PHONE DESTINATION)) ((AND (SETQ INFO (CDR (ASSOC (MKATOM (U-CASE DESTINATION)) FAXADDRESSES))) (SETQ PHONE (CAR INFO))) (SETQ HOST (CADR INFO))) (T (SETQ MSG (CONCAT "The FAX destination %"" DESTINATION "%" is unknown.
|
||||
Edit the list FAXADDRESSES")) (GO FAIL))) (COND ((AND (NULL HOST) (NULL (SETQ HOST DEFAULTFAXHOST))) (SETQ MSG "Don't know the name of your local FAX server.
|
||||
Set the variable DEFAULTFAXHOST") (GO FAIL))) (RETURN (CONS HOST (CONS (QUOTE MESSAGE) (CONS PHONE PERSON)))) FAIL (ERROR (CONCAT "Don't understand " PLACE " because:") (CONCAT MSG " appropriately, then say OK.
|
||||
Alternatively, RETURN %"name@CorrectPhoneOrDestination%"")))))
|
||||
[LAMBDA (PLACE NOERROR) (* ; "Edited 19-Jan-2026 13:18 by rmk")
|
||||
(* bvm%: "17-Sep-85 15:58")
|
||||
|
||||
(* ;;; "Parse a Fax spec 'Person@Place' and return a dotted pair (FaxServer . PrintOptions)")
|
||||
|
||||
(PROG (AT PERSON DESTINATION PHONE HOST MSG INFO)
|
||||
RETRY
|
||||
(SETQ AT (STRPOS "@" PLACE))
|
||||
(CL:UNLESS AT (GO FAIL))
|
||||
[COND
|
||||
([SETQ PERSON (AND (NEQ AT 1)
|
||||
(SUBSTRING PLACE 1 (SUB1 AT]
|
||||
(SETQ PERSON (LIST 'RECIPIENT.NAME PERSON]
|
||||
(SETQ DESTINATION (SUBSTRING PLACE (ADD1 AT)))
|
||||
(COND
|
||||
([for CH instring DESTINATION always (OR (DIGITCHARP CH)
|
||||
(EQ CH (CHARCODE -))
|
||||
(EQ CH (CHARCODE *))
|
||||
(EQ CH (CHARCODE %#]
|
||||
(* ; "Looks like a phone number")
|
||||
(SETQ PHONE DESTINATION))
|
||||
((AND (SETQ INFO (CDR (ASSOC (MKATOM (U-CASE DESTINATION))
|
||||
FAXADDRESSES)))
|
||||
(SETQ PHONE (CAR INFO)))
|
||||
(SETQ HOST (CADR INFO)))
|
||||
(T (SETQ MSG (CONCAT "The FAX destination %"" DESTINATION
|
||||
"%" is unknown.
|
||||
Edit the list FAXADDRESSES"))
|
||||
(GO FAIL)))
|
||||
(COND
|
||||
((AND (NULL HOST)
|
||||
(NULL (SETQ HOST DEFAULTFAXHOST)))
|
||||
(SETQ MSG
|
||||
"Don't know the name of your local FAX server.
|
||||
Set the variable DEFAULTFAXHOST")
|
||||
(GO FAIL)))
|
||||
[RETURN (CONS HOST (CONS 'MESSAGE (CONS PHONE PERSON]
|
||||
FAIL
|
||||
(CL:WHEN NOERROR (RETURN NIL))
|
||||
(ERROR (CONCAT "Don't understand " PLACE " because:")
|
||||
(CONCAT MSG
|
||||
" appropriately, then say OK.
|
||||
Alternatively, RETURN %"name@CorrectPhoneOrDestination%""))
|
||||
(GO RETRY])
|
||||
)
|
||||
|
||||
(RPAQ? DEFAULTFAXHOST )
|
||||
@@ -468,23 +511,19 @@ Alternatively, RETURN %"name@CorrectPhoneOrDestination%"")))))
|
||||
(GLOBALVARS DEFAULTFAXHOST FAXADDRESSES FAX.NO.WATCHER)
|
||||
)
|
||||
|
||||
(ADDTOVAR PRINTERTYPES
|
||||
((FAX TELECOPIER)
|
||||
(CANPRINT (INTERPRESS))
|
||||
(HOSTNAMEP FAX.HOSTNAMEP)
|
||||
(STATUS FAX.STATUS)
|
||||
(PROPERTIES FAX.PROPERTIES)
|
||||
(SEND FAX.SEND.FILE)
|
||||
(BITMAPSCALE INTERPRESS.BITMAPSCALE)
|
||||
(BITMAPFILE (INTERPRESSBITMAP FILE BITMAP SCALEFACTOR REGION ROTATION TITLE))))
|
||||
(PUTPROPS NSPRINT COPYRIGHT ("Venue & Xerox Corporation" 1984 1985 1986 1987 1990 1992))
|
||||
(ADDTOVAR PRINTERTYPES ((FAX TELECOPIER)
|
||||
(CANPRINT (INTERPRESS))
|
||||
(HOSTNAMEP FAX.HOSTNAMEP)
|
||||
(STATUS FAX.STATUS)
|
||||
(PROPERTIES FAX.PROPERTIES)
|
||||
(SEND FAX.SEND.FILE)))
|
||||
(DECLARE%: DONTCOPY
|
||||
(FILEMAP (NIL (10281 25115 (GETNSPRINTER 10291 . 11044) (NSPRINT 11046 . 12594) (\NSPRINT.INTERNAL
|
||||
12596 . 23038) (\NSPRINT.MEDIUM.CHECK 23040 . 23418) (\NSPRINT.UNSUPPORTED 23420 . 23725) (
|
||||
NSPRINTER.HOSTNAMEP 23727 . 23998) (NSPRINTER.STATUS 24000 . 24123) (NSPRINTER.PROPERTIES 24125 .
|
||||
24257) (NSPRINTREQUEST.STATUS 24259 . 24421) (\NSPRINT.ENQUIRE 24423 . 24906) (\NSPRINT.COURIER.OPEN
|
||||
24908 . 25113)) (25148 27735 (\NSPRINT.WATCHDOG 25158 . 26415) (\NSPRINT.WATCH.JOB 26417 . 26848) (
|
||||
\NSPRINT.FULL.REQUEST.STATUS 26850 . 27733)) (27871 30302 (FAX.SEND.FILE 27881 . 28273) (FAX.STATUS
|
||||
28275 . 28513) (FAX.PROPERTIES 28515 . 28771) (FAX.HOSTNAMEP 28773 . 29066) (\FAX.PARSE.NAME 29068 .
|
||||
30300)))))
|
||||
(FILEMAP (NIL (9930 24764 (GETNSPRINTER 9940 . 10693) (NSPRINT 10695 . 12243) (\NSPRINT.INTERNAL 12245
|
||||
. 22687) (\NSPRINT.MEDIUM.CHECK 22689 . 23067) (\NSPRINT.UNSUPPORTED 23069 . 23374) (
|
||||
NSPRINTER.HOSTNAMEP 23376 . 23647) (NSPRINTER.STATUS 23649 . 23772) (NSPRINTER.PROPERTIES 23774 .
|
||||
23906) (NSPRINTREQUEST.STATUS 23908 . 24070) (\NSPRINT.ENQUIRE 24072 . 24555) (\NSPRINT.COURIER.OPEN
|
||||
24557 . 24762)) (24797 27384 (\NSPRINT.WATCHDOG 24807 . 26064) (\NSPRINT.WATCH.JOB 26066 . 26497) (
|
||||
\NSPRINT.FULL.REQUEST.STATUS 26499 . 27382)) (27520 31135 (FAX.SEND.FILE 27530 . 27922) (FAX.STATUS
|
||||
27924 . 28162) (FAX.PROPERTIES 28164 . 28420) (FAX.HOSTNAMEP 28422 . 28988) (\FAX.PARSE.NAME 28990 .
|
||||
31133)))))
|
||||
STOP
|
||||
|
||||
Reference in New Issue
Block a user