blob: 7fe2593b617d1b44eeaabd9249fffc0850cc3779 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
|
%! page_title.ps - A fancy titlepage for a document
%% This is a LameTeX Page Description File written in PostScript.
%% Postscript Code by Jon Monsarrat Copyright 1992
%% permission given for anything except selling this or deleting the header.
%% This is a page template for the LameTeX formatter
%% A normal page for LameTeX output to look like LaTeX output
%% REQUIRED DEFINITIONS START HERE %%
% Makes a path that desribes the page and leaves a setflat value on the stack.
/PageShape
{
0 0 moveto 8.5 in 0 lineto 8.5 in 11 in lineto 0 11 in lineto closepath
currentflat 8 mul
} bind def
/StartPage
{
%%%%%%%%%%%%%%%% string Weird-Stuff %%%%%%%%%%%%%%%%%%%%%%%%%%
% Weird-Stuff puts some fancy border stuff in around a given string
/Weird-Stuff
{
save
%%%%%%%%%%%%%%%% num num block %%%%%%%%%%%
% width and X position
/Block
{
0 moveto dup 0 rlineto
.35 in .7 in rlineto -1 mul 0 rlineto
closepath 1 setgray fill 0 setgray
} bind def
%%%%%% end of Block %%%%%%%%%%%%%%%%
0.6 setgray
exch /name exch def
90 rotate 0 -1.1 in translate
/bit {.02 in} def
gsave
2 in 0 translate
.7 in dup scale
1 3 in div setlinewidth
/Thick 1 8 div def
/Tall 1 def
/HalfThick Thick .5 mul def
newpath
HalfThick Thick moveto
Thick 0 lineto
1 Thick sub 0 lineto
1 HalfThick sub Thick lineto
.5 HalfThick add Tall Thick sub lineto
1 Thick sub 0 moveto
.5 HalfThick add Tall 3 Thick mul sub lineto
Thick 3 mul Thick 2 mul lineto
1 Thick 2.5 mul sub Thick moveto
.5 Tall Thick 4 mul sub lineto
stroke
newpath
HalfThick Thick moveto
1 Thick 2.5 mul sub Thick lineto
HalfThick neg Thick rlineto
Thick Thick add Thick Thick add lineto
.5 HalfThick add Tall Thick sub lineto
Thick neg 0 rlineto
closepath
fill
grestore
/Times-BoldItalic findfont 90 scalefont setfont
gsave 2.65 in 0 moveto 1 .5 scale
-.07 in 0 name ashow grestore
gsave 2.65 in .625 in moveto 1 -.22 scale
-.07 in 0 name ashow grestore
newpath .3 in 0 moveto 1.9 in 0 lineto
2.25 in .64 in lineto .3 in .64 in lineto
.5 in .32 in lineto closepath fill
6.4 in 0 moveto 8.9 in 0 lineto 8.8 in -.2 in lineto
9.5 in .32 in lineto 8.8 in .84 in lineto
8.9 in .64 in lineto 6.75 in .64 in lineto closepath fill
.05 in .7 in Block
.08 in 1.1 in Block
.11 in 1.5 in Block
.1 in 6.8 in Block
.15 in 7.3 in Block
.2 in 7.7 in Block
.2 in 8 in Block
.1 in 8.25 in Block
restore
} bind def
%%%%%%%%%%%%% num num circle - %%%%%%%%%%%%%%%%%%%%%%%%
% circle fills & strokes a small white circle around current point
/circle { currentpoint .1 in 0 rmoveto .1 in 0 360 arc
1 setgray fill } def
/StringBuffer 10 string def
%%%%%%%%%%%%%%%% string Shade - %%%%%%%%%%%%%%%%%%%%%%%%
% Shade prints a shaded character at the current position
% .8 top .1 bot gray
/Shade
{
currentpoint /aty exch def /atx exch def
gsave
dup true charpath clip (Mg) true charpath pathbbox
exch 4 -1 roll sub /wid exch def exch sub /hit exch def
/pl aty hit .3 mul sub def /ph aty hit add .1 in sub def
pl .1 in ph
{
dup pl sub ph pl sub div .7 mul .1 add setgray
atx exch moveto wid 0 rlineto 0 hit rlineto
wid -1 mul 0 rlineto closepath fill
} for
grestore
dup 0 setgray true charpath stroke
atx aty moveto stringwidth pop 0 rmoveto
} bind def
%%%%%%%%%%%%%%%% string Title - %%%%%%%%%%%%%%%%%%%%%%%%
% Title prints a string in the title position of the page,
% and shoots it full of holes!
/Title
{
save
exch /str exch def /border .2 in def /hit 40 def
/NewCenturySchlbk-Bold findfont hit 1.5 mul scalefont setfont
str stringwidth pop /lg exch def
newpath 8.5 in lg sub 2 div 9.7 in moveto
gsave
currentpoint border sub exch border sub exch moveto
lg border 2 mul add 0 rlineto 0 hit border 2 mul add rlineto
lg -1 mul border 2 mul sub 0 rlineto closepath
gsave .8 setgray fill grestore 2 setlinewidth 0 setgray stroke
.5 setlinewidth
grestore
str length 1 sub 0 1 3 -1 roll
{ rand pop
str exch 1 getinterval Shade
} for
1 1 30
{
pop rand BIG div 2 div
lg border 4 mul add mul 8.5 in lg sub 2 div add border sub
rand BIG div 2 div
hit border 4 mul add mul 10.1 in add border sub moveto
circle
} for
1 setlinewidth 0 setgray
restore
} bind def
/Web
{
newpath
0 0 moveto
1 1 8 { pop 0.5 in 0 -3 in -3 in -2 in 0.5 in rcurveto 45 rotate } for
} bind def
%%%%%% xlow ylow width height grain ShadeBox - %%%%%%%%%%%%%%%%%%
% shades in a box with increasingly darker horizontal rectangles.
/ShadeBox
{
newpath
6 dict begin
/grain exch def
/height exch def
/width exch def
/ylow exch def
/xlow exch def
newpath
ylow grain ylow height add grain sub
{
dup ylow sub height div .9 mul .1 add setgray % How dark to stop?
xlow exch moveto width 0 rlineto
0 grain rlineto width neg 0 rlineto
closepath fill
} for
end
} bind def
1.5 in 1 in 6.5 in 5 in .05 in ShadeBox
8 in 4 in translate
0 setgray Web fill
.2 in .2 in translate
.5 setgray 10 setlinewidth Web fill
.8 setgray 3 setlinewidth Web stroke
grestoreall % Don't want all this to have an effect on text printing
} bind def
/EndPage
{
/pagenumber pagenumber 1 add def % Don't print a page number on titlepage
showpage % A new page here really does mean start a new page.
} bind def
%% INITIALIZATION TO DO WHEN FILE IS LOADED %%
/InitPage
{
/evenodd true def % if true use even-odd rule; false means winding rule
/fillout false def % true means fill outside shape. false is inside.
% Page Defaults
/in { 72 mul } def
/BM 0 in def % Absolute Bottom Margin for page
/TM 11 in def % Absolute Top Margin for page
/LM 0 in def % Absolute Left Margin for page
/RM 8.5 in def % Absolute Right Margin for page
userdict /pagenumber known not
{ /pagenumber 1 def } if % Initialize pagenumber if not done already
/BIG 1073741824 def
} bind def
InitPage % Just loading this file initializes the page.
|