/*
 *
 * Currently defined file structuring comments from Adobe - plus a few others.
 * Ones that end with a colon expect arguments, while those ending with a newline
 * stand on their own. Truly overkill on Adobe's part and mine for including them
 * all!
 *
 * All PostScript files should begin with a header that starts with one of the
 * following comments.
 *
 */

#define NONCONFORMING			"%!PS\n"
#define MINCONFORMING			"%!PS-Adobe-\n"
#define OLDCONFORMING			"%!PS-Adobe-1.0\n"

#define CONFORMING			"%!PS-Adobe-2.0\n"
#define CONFORMINGEPS			"%!PS-Adobe-2.0 EPS\n"
#define CONFORMINGQUERY			"%!PS-Adobe-2.0 Query\n"
#define CONFORMINGEXITSERVER		"%!PS-Adobe-2.0 ExitServer\n"

/*
 *
 * Header comments - immediately follow the appropriate document classification
 * comment.
 *
 */

#define TITLE				"%%Title:"
#define CREATOR				"%%Creator:"
#define CREATIONDATE			"%%CreationDate:"
#define FOR				"%%For:"
#define ROUTING				"%%Routing:"
#define BOUNDINGBOX			"%%BoundingBox:"
#define PAGES				"%%Pages:"
#define REQUIREMENTS			"%%Requirements:"

#define DOCUMENTFONTS			"%%DocumentFonts:"
#define DOCUMENTNEEDEDFONTS		"%%DocumentNeededFonts:"
#define DOCUMENTSUPPLIEDFONTS		"%%DocumentSuppliedFonts:"
#define DOCUMENTNEEDEDPROCSETS		"%%DocumentNeededProcSets:"
#define DOCUMENTSUPPLIEDPROCSETS	"%%DocumentSuppliedProcSets:"
#define DOCUMENTNEEDEDFILES		"%%DocumentNeededFiles:"
#define DOCUMENTSUPPLIEDFILES		"%%DocumentSuppliedFiles:"
#define DOCUMENTPAPERSIZES		"%%DocumentPaperSizes:"
#define DOCUMENTPAPERFORMS		"%%DocumentPaperForms:"
#define DOCUMENTPAPERCOLORS		"%%DocumentPaperColors:"
#define DOCUMENTPAPERWEIGHTS		"%%DocumentPaperWeights:"
#define DOCUMENTPRINTERREQUIRED		"%%DocumentPrinterREquired:"
#define ENDCOMMENTS			"%%EndComments\n"
#define ENDPROLOG			"%%EndProlog\n"

/*
 *
 * Body comments - can appear anywhere in a document.
 *
 */

#define BEGINSETUP			"%%BeginSetup\n"
#define ENDSETUP			"%%EndSetup\n"
#define BEGINDOCUMENT			"%%BeginDocument:"
#define ENDDOCUMENT			"%%EndDocument\n"
#define BEGINFILE			"%%BeginFile:"
#define ENDFILE				"%%EndFile\n"
#define BEGINPROCSET			"%%BeginProcSet:"
#define ENDPROCSET			"%%EndProcSet\n"
#define BEGINBINARY			"%%BeginBinary:"
#define ENDBINARY			"%%EndBinary\n"
#define BEGINPAPERSIZE			"%%BeginePaperSize:"
#define ENDPAPERSIZE			"%%EndPaperSize\n"
#define BEGINFEATURE			"%%BeginFeature:"
#define ENDFEATURE			"%%EndFeature\n"
#define BEGINEXITSERVER			"%%BeginExitServer:"
#define ENDEXITSERVER			"%%EndExitServer\n"
#define TRAILER				"%%Trailer\n"

/*
 *
 * Page level comments - usually will occur once per page.
 *
 */

#define PAGE				"%%Page:"
#define PAGEFONTS			"%%PageFonts:"
#define PAGEFILES			"%%PageFiles:"
#define PAGEBOUNDINGBOX			"%%PageBoundingBox:"
#define BEGINPAGESETUP			"%%BeginPageSetup\n"
#define BEGINOBJECT			"%%BeginObject:"
#define ENDOBJECT			"%%EndObject\n"

/*
 *
 * Resource requirements - again can appear anywhere in a document.
 *
 */

#define INCLUDEFONT			"%%IncludeFont:"
#define INCLUDEPROCSET			"%%IncludeProcSet:"
#define INCLUDEFILE			"%%IncludeFile:"
#define EXECUTEFILE			"%%ExecuteFile:"
#define CHANGEFONT			"%%ChangeFont:"
#define PAPERFORM			"%%PaparForm:"
#define PAPERCOLOR			"%%PaperColor:"
#define PAPERWEIGHT			"%%PaperWeight:"
#define PAPERSIZE			"%%PaperSize:"
#define FEATURE				"%%Feature:"
#define ENDOFFILE			"%%EOF\n"

#define CONTINUECOMMENT			"%%+"
#define ATEND				"(atend)"

/*
 *
 * Some non-standard document comments. Global definitions are occasionally used
 * in dpost and are marked by BEGINGLOBAL and ENDGLOBAL. The resulting document
 * violates page independence, but can easily be converted to a conforming file
 * using a utililty program.
 *
 */

#define BEGINSCRIPT			"%%BeginScript\n"
#define BEGINGLOBAL			"%%BeginGlobal\n"
#define ENDGLOBAL			"%%EndGlobal\n"
#define ENDPAGE				"%%EndPage:"
#define FORMSPERPAGE			"%%FormsPerPage:"
#define VERSION				"%%Version:"
