1% lib/psdit.pro -- prolog for psdit (ditroff) files
2% Copyright (c) 1984, 1985 Adobe Systems Incorporated. All Rights Reserved.
3% last edit: shore Sat Nov 23 20:28:03 1985
4% RCSID: %Header: psdit.pro,v 2.1 85/11/24 12:19:43 shore Rel %
5% Psfig RCSID $Header: psdit.pro,v 1.4 87/07/05 23:28:58 trevor Exp $
6
7/$DITroff 180 dict def $DITroff begin
8
9%% Psfig additions
10/DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap
11currentlinejoin currentdash currentgray currentmiterlimit ] cvx def
12
13/startFig {
14	/SavedState save def
15	userdict maxlength dict begin
16	currentpoint transform
17
18	DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
19		setlinewidth setmatrix
20
21	itransform moveto
22
23	/ury exch def
24	/urx exch def
25	/lly exch def
26	/llx exch def
27	/y exch 72 mul resolution div def
28	/x exch 72 mul resolution div def
29
30	currentpoint /cy exch def /cx exch def
31
32	/sx x urx llx sub div def 	% scaling for x
33	/sy y ury lly sub div def	% scaling for y
34
35	sx sy scale			% scale by (sx,sy)
36
37	cx sx div llx sub
38	cy sy div ury sub translate
39
40	/DefFigCTM matrix currentmatrix def
41
42	/initmatrix {
43		DefFigCTM setmatrix
44	} def
45	/defaultmatrix {
46		DefFigCTM exch copy
47	} def
48
49	/initgraphics {
50		DocumentInitState setmiterlimit setgray setdash
51			setlinejoin setlinecap setlinewidth setmatrix
52		DefFigCTM setmatrix
53	} def
54
55	/showpage {
56		initgraphics
57	} def
58
59} def
60% Args are llx lly urx ury (in figure coordinates)
61/clipFig {
62	currentpoint 6 2 roll
63	newpath 4 copy
64	4 2 roll moveto
65	6 -1 roll exch lineto
66	exch lineto
67	exch lineto
68	closepath clip
69	newpath
70	moveto
71} def
72% doclip, if called, will always be just after a `startfig'
73/doclip { llx lly urx ury clipFig } def
74/endFig {
75	end SavedState restore
76} def
77/globalstart {
78	% Push details about the enviornment on the stack.
79	fontnum fontsize fontslant fontheight firstpage
80	mh my resolution slotno currentpoint
81	pagesave restore gsave
82} def
83/globalend {
84	grestore moveto
85	/slotno exch def /resolution exch def /my exch def
86	/mh exch def /firstpage exch def /fontheight exch def
87	/fontslant exch def /fontsize exch def /fontnum exch def
88	F
89	/pagesave save def
90} def
91
92%% end XMOD additions
93
94/fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def
95/xi {0 72 11 mul translate 72 resolution div dup neg scale 0 0 moveto
96  /fontnum 1 def /fontsize 10 def /fontheight 10 def /fontslant 0 def F
97  /pagesave save def}def
98/PB{save /psv exch def currentpoint translate
99  resolution 72 div dup neg scale 0 0 moveto}def
100/PE{psv restore}def
101