Interlisp / medley

The main repo for the Medley Interlisp project. Wiki, Issues are here. Other repositories include maiko (the VM implementation) and Interlisp.github.io (web site sources)
https://Interlisp.org
MIT License
369 stars 20 forks source link

Implicitcly create pdf hardcopy files #1096

Open rmkaplan opened 1 year ago

rmkaplan commented 1 year ago

We don't have direct code for producing pdf files that can be viewed locally, relying on Preview or Acrobat reader to implicitly convert ps to pdf. Those programs no longer do the conversion on the Mac, so those files are now not easily viewable by non hackers.

Eventually it would be good to construct a pdf hardcopy-stream, but an interim solution is to make pdf be a wrapper on the postscript stream with a shell command to implicitly invoke an available converter so that the file shows up as pdf.

In the meeting today we noted that on the Mac there is a choice of pstopdf and ps2pdf. The former appears to be provided by Apple and is available on really stripped down systems (like my wife's). ps2pdf (ghostscript) may be better maintained, but it doesn't exist on all systems (e.g. not my wife's). I don't know what is available on Windows/Linux systems.

For starters I propose to implement a pdf wrapper that with a parameterized call out, with pstopdf built in for the Mac

fghalasz commented 1 year ago

There is no out-of-the-box ps viewer/converter delivered on most (if not all) Linux distros. You need to install the ghostscript package, which will install pd2pdf (along with gsview and a bunch of other stuff).

I can add the ghostscript package to install automatically in the .deb distribution files. But we will just have to add instructions to manually install ghostscript for anyone installing via .tgz files.

The Windows situation re: ps is irrelevant to us since we don't actually run on Windows per se - we run on top of either WSL or Linux running within a Docker container. Either way, what you want to do will be covered by installing ghostscript in the relevant environment.

Bottom line: on Linux use ps2pdf if it is there and error out otherwise.

rmkaplan commented 1 year ago

OK, I’ll try ps2pdf, if that’s not there, I’ll try pstopdf for the mac, and otherwise punt.

I have most of the pieces, it’s looks pretty good except for the fact that it doesn’t yet work.

On Mar 7, 2023, at 4:55 PM, Frank Halasz @.***> wrote:

There is no out-of-the-box ps viewer/converter delivered on most (if not all) Linux distros. You need to install the ghostscript package, which will install pd2pdf (along with gsview and a bunch of other stuff).

I can add the ghostscript package to install automatically in the .deb distribution files. But we will just have to add instructions to manually install ghostscript for anyone installing via .tgz files.

The Windows situation re: ps is irrelevant to us since we don't actually run on Windows per se - we run on top of either WSL or Linux running within a Docker container. Either way, what you want to do will be covered by installing ghostscript in the relevant environment.

Bottom line: on Linux use ps2pdf if it is there and error out otherwise.

— Reply to this email directly, view it on GitHub https://github.com/Interlisp/medley/issues/1096#issuecomment-1459099791, or unsubscribe https://github.com/notifications/unsubscribe-auth/AQSTUJOQRZWI5XS2QL4KZ2DW27KJ3ANCNFSM6AAAAAAVR6GEHA. You are receiving this because you authored the thread.

nbriggs commented 1 year ago

The Ubuntu distro I installed (22.04) seems to have ghostscript already installed, and thus had ps2pdf.

fghalasz commented 1 year ago

Interesting. Ubuntu 22.04 on WSL does not come with ghostscript installed.

Is your version the Ubuntu 22.04 Desktop directly from Canonical?

nbriggs commented 1 year ago

@fghalasz - yes, ubuntu-22.04.1-desktop-amd64.iso

masinter commented 1 year ago

Consider https://github.com/mbattyani/cl-pdf A Common Lisp PDF writer with a suitable license. Old, but more likely to be compatible. One level of Common Lisp compatibility is "Can we run Common Lisp code from other sources".

masinter commented 1 year ago

First raised in #363