






PSAlter - supported level 2 features
PSAlter can operate in strict level 1 mode, or
can support a limited subset of level 2.
The subset has been carefully chosen to match the most commonly used
language features.
The list of features is being expanded, but is currently as follows.
Note that this is unlikely to be of interest to anyone who is not
an experienced PostScript programmer.

A few operators were added in the PSAlter 1.01 update, which was sent free
to all registered users. We have been working hard on finishing all the remaining
level 2 features in Adobe's PostScript Language Reference Manual, and
a release with full level 2 and many more new features
is currently (May 1997) in beta testing. Please
contact us for details.
- Colour image support: this can be switched on independently
of level 2 support, to emulate a colour level 1 printer.
This makes available the operators colorimage
currentcmykcolor setcmykcolor currentblackgeneration setblackgeneration
setundercolorremoval currentundercolorremoval currentcolortransfer setcolortransfer
currentcolorscreen setcolorscreen. (Of these, all except the first three are dummy operators
which simulate the required effect).
- Fully supported operators: all of the following are fully implemented if
you choose the 'limited level 2' option.
arct currentcolor currentcolorspace currenthalftone currentglobal
currentoverprint currentshared currentstrokeadjust currentuserparams execform gcheck
globaldict GlobalFontDirectory ISOLatin1Encoding rectfill rectclip rectstroke scheck selectfont
setglobal sethalftone setoverprint setshared setstrokeadjust setuserparams setvmthreshold
shareddict SharedFontDirectory undef vmreclaim << >>
- Fully supported operators added in PSAlter 1.01: product release xshow xyshow yshow.
- Partially supported operators:
Limited level 2 also makes available partial implementations of some other operators.
The numbers in brackets refer to the notes which follow.
filter[1] makepattern[2] setcolor[2,3] setcolorspace[3] setpagedevice[4] setpattern[2].
Notes: [1] decode filters for
ASCIIHex, ASCII85, DCT, LZW, RunLength only.; [2] patterns only at 0,90,180,270 degrees;
[3] no CIE colour spaces except calibrated RGB;
[4] page size support only;
- Advertise level 2: this option determines whether the
languagelevel
operator is available. This is an option because it can affect the behaviour of some programs.
- Limits raised: dictionaries can expand (the dictfull error will not occur); the dictionary and operand stack (but not the execution stack) will expand as needed
up to a limit of about 4000 entries.
- VM extensions: global VM and garbage collection are fully supported.
Garbage collection also takes place in level 1.
- Syntax extensions:
ASCII base 85 strings can be included in the form <~...~>; and
there is support for binary tokens (but not binary object sequences).
- Operator extensions:
These operators support all
the level 2 extensions:
image imagemask colorimage copy currentscreen setscreen currentcolorscreen.
- Always present:
The following features are considered part of level 2, but are present in almost every level 1
implementation. PSAlter always includes them: currentpacking setpacking packedarray
setcacheparams currentcacheparams and immediately evaluated names (// syntax).
Not implemented
The following operators are not implemented in PSAlter (listed
alphabetically within each category):
- (files) deletefile renamefile
filenameforall setfileposition fileposition;
- (binary objects) printobject writeobject setobjectformat
currentobjectformat;
- (resources) defineresource undefineresource findresrouce resourcestatus
resourceforall;
- (user objects) defineuserobject execuserobject undefineuserobject
UserObjects;
- (gstate objects) gstate setgstate currentgstate;
- (user paths, insidedness
testing) ustrokepath uappend setbbox upath ucache ufill ueofill ustroke infill ineofill inufill
inueofill instroke inustroke setucacheparams ucachestatus;
- (font extensions) undefinefont
rootfont cshow glyphshow findencoding setcachedevice2;
- (miscellaneous) startjob setsystemparams currentsystemparams setdevparams
currentdevparams realtime revision setcolorrendering currentcolorrendering
serialnumber.
Also missing are the following features:
- Encoding filters, and the CCITTFax and SubFile decoding filters.
- Patterns at angles other than 0/90/180/270.
- Support for setpagedevice other than to select page size.
- CIE colour spaces, except calibrated RGB.
- Extensions to the status operator (to accept named files).
- Binary object sequences.
- Growing execution stack.
- PSAlter also does not implement any Display PostScript operators.
Find out about all of those operators
on the Luminous Corp. web pages.
Back to information on PSAlter.
Back to Quite at Home.






