[comp.lang.postscript] Encapsulated PostScript Files

orthlieb@adobe.COM (Carl Orthlieb) (03/16/91)

An Encapsulated PostScript file (EPSF) is a standard format for importing and
exporting PostScript language files in all environments. It is usually a
single page PostScript language program that describes an illustration. The
purpose of the EPS file is to be included as an illustration in other
PostScript language page descriptions. The EPS file can contain any
combination of text, graphics, and images. An EPS file is the same as any
other PostScript language page description, with some restrictions.

EPS files can optionally contain a bitmapped image preview, so that systems
that can't render PostScript directly can at least display a crude 
representation of what the graphic will look like.  There are three 
preview formats: Mac (PICT), IBM (tiff), and a platform independent preview
called EPSI.  It is up to the application creating the EPSF to include
the preview.

An EPS file must be a conforming file, that is, it must conform to the 
document structuring conventions (DSC). At a minimum, it must include a
header comment, %!PS-Adobe-3.0 EPSF-3.0, and a bounding box comment,
%%BoundingBox: llx lly urx ury, that describes the bounds of the illustration.

Optional comments include font usage (%%DocumentFonts: or 
%%DocumentNeededResources: font), EPSI preview comments (%%Begin(End)Preview:)
extensions (%%Extensions:) and language level (%%LanguageLevel:).

There are some operators that should not be used within an EPS file:
	banddevice	cleardictstack	copypage	erasepage
	exitserver	framedevice	grestoreall	initclip
	initgraphics	initmatrix	quit		renderbands
	setglobal	setpagedevice	setshared	startjob
These also include operators from statusdict and userdict operators like
legal, letter, a4, b5, etc.

There are some operators that should be carefully used:
	nulldevice	setgstate	sethalftone	setmatrix
	setscreen	settransfer	undefinefont

Look in Appendices H and I of the new red book for more information on EPSF.

Hope this helps, Carl 8-)