From 97b19f1b96c6890b1b7b8f39ab50df96d113bf09 Mon Sep 17 00:00:00 2001 From: rmkaplan Date: Sun, 1 Oct 2023 23:54:23 -0700 Subject: [PATCH] PDF-STREAM: added SEE-PDF A little stub that (on a mac) does a shell command to open Preview on the Unix-named file corresponding to a medley name (Also added back some key functions that got lost in a bad edit) --- library/PDFSTREAM | 94 +++++++++++++++++++++++++++++++++-------- library/PDFSTREAM.LCOM | Bin 4201 -> 5191 bytes 2 files changed, 77 insertions(+), 17 deletions(-) diff --git a/library/PDFSTREAM b/library/PDFSTREAM index 9ec59d23..1534669e 100644 --- a/library/PDFSTREAM +++ b/library/PDFSTREAM @@ -1,12 +1,12 @@ (DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10) -(FILECREATED "23-Sep-2023 22:54:26" {WMEDLEY}PDFSTREAM.;49 10763 +(FILECREATED " 1-Oct-2023 20:53:05" {WMEDLEY}PDFSTREAM.;54 13917 :EDIT-BY rmk - :CHANGES-TO (FNS PS-TO-PDF OPEN-PDF-STREAM) + :CHANGES-TO (FNS SEE-PDF) - :PREVIOUS-DATE "23-Sep-2023 15:38:55" {WMEDLEY}PDFSTREAM.;48) + :PREVIOUS-DATE " 1-Oct-2023 15:29:33" {WMEDLEY}PDFSTREAM.;53) (PRETTYCOMPRINT PDFSTREAMCOMS) @@ -15,7 +15,7 @@ ((FILES (SYSLOAD) POSTSCRIPTSTREAM) [COMS (* ; "Hook into hardcopy interface") - (ADDVARS [PRINTERTYPES ((PDF) + [ADDVARS [PRINTERTYPES ((PDF) (CANPRINT (PDF)) (STATUS TRUE) (PROPERTIES NILL) @@ -29,10 +29,10 @@ (IMAGESTREAMTYPES (PDF (OPENSTREAM OPEN-PDF-STREAM) (FONTCREATE POSTSCRIPT.FONTCREATE) (FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE) - (CREATECHARSET \CREATECHARSET.PSC))) - (VARS (DEFAULTPRINTERTYPE 'PDF)) - (FNS PDFFILEP PDF.HARDCOPYW PDF.TEXT PDF.TEDIT) - (P (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT] + (CREATECHARSET \CREATECHARSET.PSC] + (VARS (DEFAULTPRINTERTYPE 'PDF)) + (FNS PDFFILEP PDF.HARDCOPYW PDF.TEXT PDF.TEDIT) + (P (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT] (* ;; "") @@ -43,7 +43,8 @@ (* ; "Mac with ghostscript?") (ALISTS (PDF-CONVERTER-TEMPLATES ps2pdf pstopdf)) (GLOBALVARS PDFCONVERTER PDF-CONVERTER-TEMPLATES) - (FNS OPEN-PDF-STREAM CLOSE-PDF-STREAM PS-TO-PDF))) + (FNS OPEN-PDF-STREAM CLOSE-PDF-STREAM PS-TO-PDF) + (FNS SEE-PDF))) (FILESLOAD (SYSLOAD) POSTSCRIPTSTREAM) @@ -70,11 +71,56 @@ (FONTSAVAILABLE POSTSCRIPT.FONTSAVAILABLE) (CREATECHARSET \CREATECHARSET.PSC))) -(ADDTOVAR VARS (DEFAULTPRINTERTYPE 'PDF)) +(RPAQQ DEFAULTPRINTERTYPE PDF) +(DEFINEQ -(ADDTOVAR FNS PDFFILEP PDF.HARDCOPYW PDF.TEXT PDF.TEDIT) +(PDFFILEP + [LAMBDA (FILE) (* ; "Edited 23-Jun-2023 14:43 by rmk") + (* ; "Edited 5-Mar-93 21:40 by rmk:") + (* ; "Edited 14-Jan-93 10:56 by jds") + (OR (CL:MEMBER (UNPACKFILENAME.STRING FILE 'EXTENSION) + '("PDF") + :TEST + (FUNCTION STRING-EQUAL)) + (CL:WHEN (STREAMP FILE) + (SETFILEPTR FILE 0) + (PROG1 (AND (EQ (BIN FILE) + (CHARCODE %%)) + (EQ (BIN FILE) + (CHARCODE P)) + (EQ (BIN FILE) + (CHARCODE D)) + (EQ (BIN FILE) + (CHARCODE F))) + (SETFILEPTR FILE 0)))]) -(ADDTOVAR P (FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT)) +(PDF.HARDCOPYW + [LAMBDA (PDFFILE BITMAP SCALEFACTOR REGION Landscape? TITLE) + (* ; "Edited 24-Jul-2023 10:37 by rmk") + (* ; "Edited 23-Jun-2023 13:28 by rmk") + (* ; "Edited 6-Mar-2023 22:43 by rmk") + (LET ((PSTTMP (PACKFILENAME 'EXTENSION 'TMPPS 'BODY PDFFILE))) + (PS-TO-PDF (POSTSCRIPT.HARDCOPYW PSTTMP BITMAP SCALEFACTOR REGION Landscape? TITLE) + PDFFILE]) + +(PDF.TEXT + [LAMBDA (FILE PDFFILE FONTS HEADING TABS) (* ; "Edited 1-Oct-2023 15:24 by rmk") + (* ; "Edited 23-Jun-2023 13:23 by rmk") + (* ; "Edited 7-Mar-2023 08:39 by rmk") + (TEXTTOIMAGEFILE FILE PDFFILE 'PDF FONTS HEADING TABS `(REGION ,POSTSCRIPT.DEFAULT.PAGEREGION + ROTATION ,(NOT (NOT + POSTSCRIPT.TEXTFILE.LANDSCAPE + ]) + +(PDF.TEDIT + [LAMBDA (FILE PDFFILE) (* ; "Edited 23-Jun-2023 13:22 by rmk") + (* ; "Edited 7-Mar-2023 08:39 by rmk") + (LET ((TSTREAM (OPENTEXTSTREAM FILE))) + (TEDIT.FORMAT.HARDCOPY FILE PDFFILE T NIL NIL NIL 'PDF) + (CLOSEF TSTREAM]) +) + +(FONTPROFILE.ADDDEVICE 'PDF 'POSTSCRIPT) @@ -154,7 +200,8 @@ PSSTREAM)]) (PS-TO-PDF - [LAMBDA (PSFILE PDFFILE DONTDELETE) (* ; "Edited 23-Sep-2023 22:54 by rmk") + [LAMBDA (PSFILE PDFFILE DONTDELETE) (* ; "Edited 1-Oct-2023 15:18 by rmk") + (* ; "Edited 23-Sep-2023 22:54 by rmk") (* ; "Edited 23-Jul-2023 22:30 by rmk") (* ; "Edited 24-Jun-2023 15:01 by rmk") (* ; "Edited 16-Jul-2022 13:06 by rmk") @@ -167,11 +214,11 @@ (* ;; "DONTDELETE is just for debugging, keeps the /tmp/ files") (SETQ PSFILE (FULLNAME (TRUEFILENAME PSFILE))) + (CL:UNLESS (INFILEP PSFILE) + (ERROR "NO PS FILE TO CONVERT")) (SETQ PDFFILE (if PDFFILE then (TRUEFILENAME PDFFILE) else (PACKFILENAME 'EXTENSION 'pdf 'BODY PSFILE))) - (CL:UNLESS (INFILEP PSFILE) - (ERROR "NO PS FILE TO CONVERT")) (LET ((ERRORFILE (PACKFILENAME 'EXTENSION 'error 'BODY PSFILE)) COMPLETIONCODE) @@ -210,7 +257,20 @@ (ERROR "Cannot create PDF file for " PDFFILE)) PDFFILE]) ) +(DEFINEQ + +(SEE-PDF + [LAMBDA (PDFFILE) (* ; "Edited 1-Oct-2023 20:47 by rmk") + (* ; "Edited 26-Sep-2023 16:52 by rmk") + + (* ;; "Good for Mac, not sure about Windows etc.") + + (ShellCommand (CONCAT "open -a Preview " (UNIX-FILE-NAME (PACKFILENAME 'BODY PDFFILE 'EXTENSION + 'PDF) + 'INPUT]) +) (DECLARE%: DONTCOPY - (FILEMAP (NIL (3630 10740 (OPEN-PDF-STREAM 3640 . 5818) (CLOSE-PDF-STREAM 5820 . 7107) (PS-TO-PDF 7109 - . 10738))))) + (FILEMAP (NIL (3078 5692 (PDFFILEP 3088 . 4002) (PDF.HARDCOPYW 4004 . 4602) (PDF.TEXT 4604 . 5321) ( +PDF.TEDIT 5323 . 5690)) (6136 13355 (OPEN-PDF-STREAM 6146 . 8324) (CLOSE-PDF-STREAM 8326 . 9613) ( +PS-TO-PDF 9615 . 13353)) (13356 13894 (SEE-PDF 13366 . 13892))))) STOP diff --git a/library/PDFSTREAM.LCOM b/library/PDFSTREAM.LCOM index 78e86fb0fceb4ca18f4e5b00d85ca718d47ab46c..12da811e8efa8c3c6eefca52341c9e2ffa8b2f75 100644 GIT binary patch delta 1567 zcmZuxO^@4D6t$;nXPUOOBf+K%xH76psO_nb*m)I@q8eqZODd+z-QertaB=v}b% z{NROdo3;bC>3fcEdf$I}ukzd$G_=)KtK&PKZ`&F?IU63F9*>Vk!vPGx9-lqG<3mZQ z&Y~EOPC$$MX$q@H4a3l2u>S)0zxB?J)@n54B&A_N38xWgZ^bpar+%>ExnMaR>%nAK z1%3W%3w&14-6ZdqdW09io4^q@Vt2&x%5z!`#3>$Q;79F7GXWFCv;_)R6h#fbz*cF9 z=2SFtDx2$K`pOBeivIj=@JwzBV0348{vLL0cK!}_(d>L3yLdL=@cNe0Y@4VMkCO_Y zS;Z5+E8+2-ecgH5T<^Q_PVqH%Y=T$Ncd2|%SewJxGl-HP%PUMM{umuojyr1 zbl`JZa`1pY<}@plJi~2ZdC=65uhx>ZjcS_|QJAy6M>Tnd-S{E_Cx~4?2JpSc$+_>DQb& ze!2*Cs%#guEJvrwj0c`Wm}k4R;8=hzD%heZ%$}>e*X!sROf8RJ+n|yNZhv^^JZmCzH8E2&^(9^%Kf4ug7!N|@I Z%x%oDhH&J+hvt$dnp8LMPky~Q{SRk6VcGxy delta 466 zcmX@E@ls(zxQLOlZg6UWu91O}v4WA2m8pr9k=ev-eNPihO$9C`WLZNaD?<}2V*@3H zq@vX1{M>@foYWMB)QWKx?i7~<-pfMOTSC6gC2%5#`lDi|7=n;B0IVN|e3*yA7I>Ibq=H#h`ngs-N8 zRX~tyn5Tbeu&xWxL{tL}O|6VAtV~To1~QpgY&K%8WoCEW%G|V(;os!@9HJsgOb(n3 zK(HzwM1q<7ff6?vMK|x{RAyANRB#On@()rlu~6{z1Gzgu!Nfozz|q+o#PM_Vb)Ec= zYlfh)iGq{AOQeF4r9weUnu3wZvOMw9S9`1sOL>3#u~lJG!`p_=hg2vo