%! This is a PostScript library meant to be included in other files %%% %% Postscript Code by Jon Monsarrat Copyright 1991 %% permission given for anything except selling this or deleting the header. %% This is a page template for the SCRATCH formatter %% A normal page for the ASYLUM assassin game % A margin path that goes around the picture of the BSD daemon. The daemon % itself is rather complex to be the margin path itself, but this is possible. /DemonBox { 3 in 3 in moveto 2.8 in 3.7 in lineto 4.1 in 3.7 in lineto 4.1 in 4.3 in lineto 2.7 in 5.2 in lineto 2.6 in 5.7 in lineto 3.4 in 5.9 in lineto 4.1 in 8 in lineto 5.8 in 8 in lineto 5.4 in 4 in lineto 7.3 in 3.5 in lineto 7.3 in 2.6 in lineto 5.1 in 2.6 in lineto closepath } bind def %%%%%%%%%%% icon-name LeftMarginIcon - %%%%%%%%%%%% % Given the name of an icon, executes the icon in the left margin. /LeftMarginIcon { gsave 20 ypos 72 sub translate cvx exec grestore } bind def %% REQUIRED DEFINITIONS START HERE %% % Makes a path that desribes the page /PageShape { % 0 0 moveto 8.5 in 0 lineto 8.5 in 11 in lineto 0 11 in lineto closepath DemonBox currentflat 8 mul } bind def % Anything to do when a new page is started /StartPage { } bind def % Anything to do when a new page is ended /EndPage { pagenumber 4 string cvs dup stringwidth pop 8.5 in formatdict /rightmargin get sub formatdict /leftmargin get sub exch sub 2 div formatdict /leftmargin get add formatdict /bottommargin get 2 div moveto show /pagenumber pagenumber 1 add def showpage % A new page here really does mean start a new page. } bind def %% INITIALIZATION TO DO WHEN FILE IS LOADED %% % Page-specific defaults that describe the page. /InitPage { /evenodd true def % if true use even-odd rule; false means winding rule /fillout true def % true means fill outside shape. false is inside. /in { 72 mul } def /BM 0 in def % Absolute Bottom Margin for page /TM 11 in def % Absolute Top Margin for page /LM .5 in def % Absolute Left Margin for page /RM 8 in def % Absolute Right Margin for page userdict /pagenumber known not { /pagenumber 1 def } if % Initialize pagenumber if not done already } bind def InitPage % Just loading this file initializes the page.