philip@hubcap.clemson.edu (Philip L Harshman) (07/24/90)
I am trying to force Mac PostScript through a non-apple PostScript interpreter. Currently, I am having problems with a statement in the LaserPrep file that looks like this: /fc{save vmstatus exch sub 50000 lt {(%%[|0|]%%)=print flush}if pop restore}bdf From what little I understand of PostScript, this is defining "fc" to be an alias for the stuff between the outer braces. However, the (%%[|0|]%%)=print part is getting triggered repeatedly and causing my interpreter to choke. If I take it out, leaving: /fc{save vmstatus exch sub 50000 lt {flush}if pop restore}bdf it works fine, but now I don't know if I'm aiming a gun at my foot for later things. Could some give me some idea as to what this is trying to do and if it's OK to make the change I've made? Thank you very much for all your help. -- Philip Harshman uucp: ... !gatech!hubcap!philip Employed by Clemson University inet: philip@hubcap.clemson.edu although they have no idea that bitnet: philip@clemson I'm doing this. (So don't tell!) phone: (803) 656-3697
kevina@apple.com (This space for rent) (07/25/90)
In article <9815@hubcap.clemson.edu> philip@hubcap.clemson.edu (Philip L Harshman) writes: > > I am trying to force Mac PostScript through a non-apple PostScript interpreter. > Currently, I am having problems with a statement in the LaserPrep file that > looks like this: > > /fc{save vmstatus exch sub 50000 lt > {(%%[|0|]%%)=print flush}if pop restore}bdf > > From what little I understand of PostScript, this is defining "fc" to be > an alias for the stuff between the outer braces. However, the > (%%[|0|]%%)=print part is getting triggered repeatedly and causing my > interpreter to choke. As near as I can guess, "fc" stands for "font check" and is called before any new PostScript font is defined. The "%%[|0|]%%" message tells the driver that there are less than 50000 bytes of free VM left in the printer (the driver probably parses all messages bracketed by "%%[" and "]%%" and acts accordingly). The change you've made won't break anything -- since you're not the LW driver, you're not going to do anything differently based on that message -- but now I wonder why those print statements "choke" your interpreter? Is your "non-Apple" PS interpreter a clone? If not, why do you have so little VM as to repeatedly trigger that message? Disclaimer: I'm not an Apple driver spokesman and I don't play one on TV. --Kevin Andresen [kevina@apple.com] "No, ma'am, we're musicians."
glenn@heaven.woodside.ca.us (Glenn Reid) (07/26/90)
In article <9815@hubcap.clemson.edu> philip@hubcap.clemson.edu (Philip L Harshman) writes:
Currently, I am having problems with a statement in the LaserPrep file that
looks like this:
/fc{save vmstatus exch sub 50000 lt
{(%%[|0|]%%)=print flush}if pop restore}bdf
...
it works fine, but now I don't know if I'm aiming a gun at my foot for later
things. Could some give me some idea as to what this is trying to do and
if it's OK to make the change I've made?
I'm pretty sure this is used by the LaserWriter driver on the Mac to check
the memory consumption in the printer at various intervals. I believe the
information is fed back to the driver during the time it's talking to the
printer to help with font downloading memory management issues.
Once the file has been written to disk, there is no point in trying to
communicate this information back to the driver, since the driver isn't
even there any more. You can safely make the "fc" procedure a no-op,
but you probably shouldn't delete it entirely. I don't think your foot
will be shot off from the modification you made :-)
(Glenn) cvn
--
Glenn Reid PostScript/NeXT consultant
glenn@heaven.woodside.ca.us Independent Software Developer
..{adobe,next}!heaven!glenn 415-851-1785