[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

PostScript de faqto [was "Re: `Kerning?'"]



≪	I'm trying to get a handle on PS. I don't doubt that it is the
superior language. But PCL did have some strengths. In Xy4, no WiDth
tables, for example; XyWrite reads widths into memory, all you do is
point at the directory. No more FOnt definitions in Xy4 PCL (whew). Easy
to use your own homemade bitfonts (I have many, mostly for SEAsian
languages). ≫ --Robert Holmgren 

Robert--Managed by that binary file, I guess.

≪	But, I want to give PS a go. I installed Alladin Ghostscript and
GSView. I got it working, barebones. ≫

Aladdin seems to have turned a corner. Ghostscript always was notorious
as a bear to install, but I see more and more reports now like yours.
I've never tried Ghostscript. My software interpreter is GoScript, an
unrelated commercial product whose first release pre-dated Ghostscript
by about a year. Published by LaserGo, a San Diego mom-'n'-pop operation
that--amazingly--survives. (When I found the Web site--www.lasergo.com--
and left a note I received an answer from the founder/creator/programmer/
ceo etc.) Peter Deutsch told me the nominal similarity is a coincidence
but, pre-Ghostscript, LaserGo was advertising GoScript nationally
in the trade press and, well ...

≪	It took a few minutes to realize that I've got to use TYF here
(right?). ≫

Various software interpreters work various ways. DOS GoScript requires
TYF, and if Ghostscript does too I'm not surprised. A macro that TYFs,
then "do"es Ghostscript should be easy enough.

≪	Is this emulation--or isn't it? When people speak of PS-capable
printers, do they mean that the printer just has PS fonts in internal
memory? (Is that the main difference? My printer acquires its PS by
downloading it from the computer, whereas "PS printers" already have the
fonts in memory--something like that maybe?) ≫

This all will be a lot easier if you accept as an article of faith
that the *one and only thing PostScript is* is:

PostScript is an interpreted computer language.
         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The category of computer language PostScript falls into is page
description language. The interpreter stops reading at a showpage
operator and composes a page of everything it's read since the beginning
or the previous showpage. This distinguishes PDLs from line printer
processing, where code is treated char by char, line by line, instead
of as a page.

The source code the interpreter wants is the code a printer driver
creates when you issue a print command (unless you program PS manually,
as I did, e.g., with the graph I mentioned yesterday).

In "PostScript printers" the interpreter is embedded on a chip. You can
let an app copy the source code to the printer or can TYF and copy it
manually. Once it has the source code, the interpreter embedded on a chip
interprets it (creates pages from it) that the device then prints.

A PostScript software interpreter is, well, a software interpreter. Like
GW-BASIC, whatever, once it receives source code and a start command it
uses your PC to interpret the code (create pages from it). It puts the
pages into code your printer can understand and copies them in that form
to the device via the interpreter's driver for your printer.

The only true PostScript is Adobe PostScript[(r)--and don't you forget
it]. Aside from products about which I know NeXT to nothing (Display
PostScript), Adobe doesn't publish a software interpreter. The popular
software interpreters all are clone interpreters, and I believe some
interpreters on embedded chips may be too. (PostScript is not
an external "formatter," fonts don't define PS, and your printer
never "acquires" PS.)

≪	When you speak of Prolog, is that similar to what appears in Xy
printer files as the "fb<" statement? ≫

Not similar: The fb< *is* the xyWrite PS prolog. The prolog is the set
of definitions that subsequent code references. PostScript is as good
or as bad as any app's PS prolog lets it be. I added some text-handling
procedures to the CorelDraw PS prolog and substituted it for the entire
xyWrite PS fb<. The handshake is imperfect but the fix is automated and
the flexibility this prolog adds to xyWrite printing is wondrous.

≪	[I]f you know of some manual pages that cover XyWrite's interface
with PS, I'd appreciate the reference. I can't find any written info. ≫

When I installed a custom fb< I figured XyWrite PS support might muck
things up so I never investigated it.

≪	[I]sn't printing via Ghostscript significantly different than
printing directly to a PS printer? ≫

When I finish editing a file I hit a key that launches xpl that TYFs,
corrects the discrepancies my custom prolog causes, and "do"es GoScript
with the screen driver loaded--for a preview. I can rarely resist the
temptation to fool around with the TYF'd file (as I said, source code).
With another arg from another level of the same key, the same xpl just
previews.

When the file is ready to print, I hit yet another level of the same key,
now to copy the file to my PS-on-a-chip laser or to do GoScript with
the driver for my wide-carriage Bubblejet loaded. Because of the preview,
buying a PS printer didn't reduce GoScript's importance to me an iota
(remember, I'm talking xyWrite 3). The only diff is that instead
of feeding the file to GoScript a different xpl macro copies
to the PS printer and can download the prolog and fonts once
to the printer, where they'll stay loaded as long as power is on
or till I clear them. You configure a software interpreter differently,
that's all.

≪	What is the function of XyWrite file ADDPS4.EXE? ≫

Hmmmm. Don't see it in my installation. (I must have wiped out a xyDos 4
printer file subdir--can't find that H-P binary either. The partition is
dead meat.) Anyway--sounds like a font installer, doesn't it? But dunno why
it would be an .EXE. That kind of thing usually has been done with xpl.

≪	Now, if I don't have a PS printer, and therefore don't have the
various fonts mentioned in the PRN file (let's take TIMES as our
example), and none of the .PFB fonts distributed with Ghostscript is
labelled TIMES, then--how is a correlation established? ≫

Any correlation would be coincidental. You'd need to synchronize names,
I'd think. Take a look at the TYF'd file.

≪	And suppose the Ghostscript version of TIMES is not exactly the
same as the internal "PS printer" version of TIMES? I suspect that's why
pages which I'm printing  FlushCenter are not coming out perfectly
centered: because the WiDth tables aren't exactly right? ≫

Sounds likely.

≪	Is there a way that I can get the WD tables to be exactly
correct? E.g., are correct tables distributed as part of the Ghostscript
package (for the fonts in GS403FN1.ZIP, the mandatory GS font package)? ≫

That's a question for Aladdin. However: I wrote a crude-but-effective
width table generator, but was in offlist correspondence with somebody
--Steve Crutchfield, was it you?--who'd found a much more graceful solution.
Can't find the stuff in my xyW-ps archive or PS subdirs (must have put it
some *really* "safe" place). If a better way doesn't materialize quickly
and you'd like, I'll send you my kludge.

≪	Should I be using POST47, POST35N, or which POSTx.PRN file do you
recommend? ≫

Other subscribers who use Ghostscript could answer that better than I.
Doesn't Aladdin offer a recommendation. For GoScript, LaserGo suggests
the most generic PS driver--Apple LaserWriter I. The fb<, etc., will be
the same for all PS drivers. They differ in installed fonts and code
that affects PS hardware (duplex, etc.). Since the software interpreter's
driver addresses the hardware, the less of the latter the better
in the xyWrite PS driver you use.

... My turn. What PS manual(s) are you using? 			--a

P.S. I forwarded your reply to Dick Weltz's comments to him.

============================= adpFisher  nyc