
Why “direct” PostScript makes sense - beza1e1
http://www.anastigmatix.net/postscript/direct.html
======
SimHacker
I've written piles of "Direct PostScript" code for the NeWS window system --
<http://en.wikipedia.org/wiki/NeWS> ...

Pie menu widget: <http://www.donhopkins.com/home/code/piemenu.ps.txt>

PizzaTool graphical Pizza ordering gui:
<http://www.donhopkins.com/home/code/pizzatool.ps.txt> Illustration:
<http://www.donhopkins.com/home/catalog/images/pizzatool.gif>

VT100 terminal emulator: <http://www.donhopkins.com/home/code/newterm.ps.txt>

UniPress (Gosling) Emacs display driver:
<http://www.donhopkins.com/home/code/emacs.ps.txt>

Metacircular PostScript interpreter:
<http://www.donhopkins.com/home/code/ps.ps.txt>

PSIBER Space Deck (visual PostScript debugger and programming environment):
<http://www.donhopkins.com/home/code/litecyber.ps.txt> More about that:
<http://www.donhopkins.com/drupal/node/97>

A lunar lander game James Gosling wrote in 1988:
<http://www.donhopkins.com/home/code/lander.ps.txt>

HeapSort by Owen Densmore:
<http://www.donhopkins.com/home/code/heapsort.ps.txt>

QuickSort by Don Woods (an incredibly twisty maze of stack manipulation, by
the Adventure dude): <http://www.donhopkins.com/home/code/quicksort.ps.txt>

BubbleSort by Bobo Leffler (he was afraid this might come back to haunt him):
<http://www.donhopkins.com/home/code/bubblesort.ps.txt>

------
bazzargh
Since we're all admitting to have done this at one point in the past, here's
mine; PSTab, a guitar tablature typesetter I wrote in 1994. The code is...not
great. <http://www.ctan.org/tex-archive/support/pstab>

I heard from a guy in NZ a while after that he'd used it to typeset a book of
banjo music - it was the only software he could find that supported anything
other than 6 strings.

------
chalst
PDF displaced Postscript for two reasons: (i) lower resource usage, and (ii)
better handling of fonts.

Since then PDF has become more sophisticated, handling metadata, tagging, and
embedding media. It's been a long time since Postscript has been "the
universal language for graphical and printed work".

A shame, since Postscript is fun.

~~~
gallerytungsten
re: "PDF displaced Postscript."

Not exactly. A PDF is generated from PostScript, as noted in the article:

"A PDF file is a static representation of the result of executing the
PostScript file on a single occasion."

A PDF is a more compact version of a PostScript file - we could call it
compiled PostScript, to use a term many on this site are familiar with. Just
as a compiler has many output options, distilling PostScript can result in
many different file sizes and levels of quality. (Check out the Distiller
output settings.)

~~~
plt
PDF is typically directly generated these days. There's no need to generate it
from PostScript first.

The main difference between the two is that PDF is a declarative definition of
the page whereas PostScript is a turing complete language. You can write a
PostScript ray-tracer which will execute on the printer itself something which
would never be possible in PDF. On the flip side, PDF is far more efficient as
an electronic document format.

------
protomyth
My first job out of college, I had a Turbo C compiler, a DEC PC, a database
app (government) written in Foxbase, and a Postscript printer. No real
reporting tools, so all my reports and add-ons were written in C and outputted
Postscript directly to the printer. Was a very interesting learning
experience.

The Blue and Green books are a must for a new Postscript programmer
[http://partners.adobe.com/public/developer/ps/sdk/index_arch...](http://partners.adobe.com/public/developer/ps/sdk/index_archive.html)

------
RodgerTheGreat
Here's a toy Forth compiler, VM and visual debugger I wrote in PostScript:

<https://github.com/JohnEarnest/Four.Ps/blob/master/four.ps>

------
ableal
A few years ago I took a look at this Unix circuit schematic editor, which
seems to be still going strong. Symbols are kept directly in Postscript, if
memory serves.

<http://opencircuitdesign.com/xcircuit/> : _"XCircuit regards circuits as
inherently hierarchical, and writes both hierarchical PostScript output and
hierarchical SPICE netlists."_

------
DennisP
It'd be really cool to have an ebook reader that converts epub files, and runs
either TEX directly or postscript implementing the TEX paragraph formatter.

It's really bugging me that my kindle is incapable of running Knuth's
algorithm, preferring instead to avoid hyphenation entirely, serving up an
ugly hodgepodge of justified and ragged-right text. C'mon guys, this is old
stuff...

Any open hardware with e-ink?

~~~
ChuckMcM
Sadly the iRex Technologies Illiad is no longer available (but it met your
criteria)

------
bitwize
When I wanted to investigate fractals using Scheme, I had the Scheme program
spit out PostScript output, then ran it through gs to look at the results.

PostScript is really tractable as a language to work directly in. Basic line-
drawing stuff is almost as simple as the Logo I played with as a kid.

------
thristian
I'm not sure I'd ever try it myself — for one thing, PostScript would only be
useful for preparing documents destined for print, not HTML — but if I ever
did need such a thing, I'd be interested to try it out.

~~~
mhd
Whether the rasterization in the end targets a printer or it ends up in a .png
doesn't really matter at all.

But yeah, sadly there's no readily available system nowadays with true Display
PostScript. Not very likely that Oracle will release the NeWS sources, and OS
X switched to DirectPDF.

Have to check GNUStep…

~~~
Craiggybear
Yes, OS X uses direct PDF to write to the screen, and will helpfully rasterise
PS to PDF on the fly.

The 3B2 typesetting system does write display PS to the screen, though. Even
the old DOS version.

------
krupan
That's a whole lot of text with very, very few code examples. Is the code too
scary to show us more?

------
gilgameshi
Killed because it was very copyrighted...

Time to move on guys. Any newer ideas?

~~~
DennisP
Ghostscript runs postscript and is opensource.

------
Craiggybear
I like hand-coding PostScript. Been doing it since the early 90's. It doesn't
need to be a mess and can be beautifully concise and clean. It does have some
odd ideas for the beginner (the page always starts at the bottom left
coordinate and goes up, not down) but that's not hard.

Its a very cool language -- Forth derived.

~~~
acqq
I like to write Perl scripts which generate Postscript pictures. It gives me
better interactivity of Perl development combined with the exactness of the
results of Postscript.

The end result is usually a PDF file.

Still I've never learned to embed external fonts in my scripts, does anybody
have some straightforward text about that part? As far as I know I'm legally
100% clean if I manage to use any font as long as I only distribute the PDF at
the end.

~~~
fhars
It's been a long time since, but as far as I remember it basically boils down
to pasting the pfa into your file (pfb2pfa is your friend here).

And it totally is a murky legal situation, many fonts don't allow embedding
into a pdf, and you may not use almost all fonts in any way at all if you do
not have a valid license. Fonts in the abstract may or may not be
copyrightable depending on where you live, but the actual pfa-code you put in
your file and the representation generated from that when converting to PDF
definitely are.

------
davidhansen
Nice. FWIW, We emit "direct" postscript for most of our generated warehouse
documents like packing slips, gift cards, snail-mail gift certificates,
invoices, etc.

