home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Chip 2001 Mobile
/
Chip_Mobile_2001.iso
/
palm
/
business
/
printcar
/
printcar.exe
/
PrintCardDB
/
ransom.ps
< prev
next >
Wrap
Text File
|
2000-06-10
|
4KB
|
194 lines
%!PS-Adobe
%
% Ransom note writer. Version 1.00
%
% (C) Copyright 1992 Diomidis Spinellis. All rights reserved.
% You can use and copy this program as long as the notice above
% remains intact. Modified copies must be clearly marked as such.
% Send comments, threats, corrections etc. to dds@doc.ic.ac.uk
%
% Put here the ransom note you want
% Use the | symbol to generate new lines.
/note (${firstName}$ ${lastName}$|
${title}$|
${company}$|
|
${address}$|
${state}$ ${zip}$ ${city}$|
|
${phoneLabel1}$: ${phone1}$|
${phoneLabel2}$: ${phone2}$|
${phoneLabel3}$: ${phone3}$|
${phoneLabel4}$: ${phone4}$|
${phoneLabel5}$: ${phone5}$|
) def
% vertical and horisontal scale in percent
true {
/scaleX ${scaleX}$ def
/scaleY ${scaleY}$ def
}{
/scaleX 100 def
/scaleY 100 def
} ifelse
% top margin position
/top { pagesize exch pop 80 sub } def
% Left margin position
/left 60 def
% Right margin position
/right { pagesize pop 60 sub } def
% Line advance
/lineskip -23 def
% - pagesize - x y
/pagesize {
currentpagedevice (PageSize) get
dup 0 get exch 1 get
} def
% Print the string
% string ransom -
/ransom {
{chr ransomchar}
forall
} def
% Convert a character code to a string
% int chr string
/chr {
( ) dup 0 3 index put exch pop
} def
% Draw a black filled box for the bounding box of the character
% char box -
/box {
gsave
gsave
true charpath pathbbox
grestore
1 add /ury exch def
1 add /urx exch def
1 sub /lly exch def
1 sub /llx exch def
newpath
llx lly moveto
urx lly lineto
urx ury lineto
llx ury lineto
closepath
0 setgray
fill
grestore
} def
% Display a single ransom character
% character ransomchar -
/ransomchar {
dup (|) eq {
pop
crlf
} {
randfont 7 random 15 add scalefont setfont
dup
gsave
5 random rotate
3 random 1 sub 3 random 1 sub rmoveto
dup ( ) eq {
[ {show} ]
} {
[
{ show }
{ show }
{ true charpath stroke }
{ true charpath 10 random 20 div setgray fill }
{ dup box 1 setgray show }
]
} ifelse
randarray exec
grestore
stringwidth
pop 0 rmoveto
format
} ifelse
} def
% Return a random value 0 <= r < int
% int random int
/random {
rand
exch
mod
} def
% Return a random element from the array
% array randarray any
/randarray {
dup
length
random
get
} def
% Return a random font
% - randfont font
/randfont {
[
/Times-Roman
/Times-Bold
/Times-Italic
/Times-BoldItalic
/Helvetica
/Helvetica-Bold
/Helevetica-Oblique
/Helevetica-BoldOblique
/Times-Roman
/Times-Bold
/Times-Italic
/Times-BoldItalic
/Helvetica
/Helvetica-Bold
/Helevetica-Oblique
/Helevetica-BoldOblique
/Courier
/Courier-Bold
/Courier-Oblique
/Courier-BoldOblique
]
randarray
findfont
} def
% Do a carriage return / line feed
% - crlf -
/crlf {
currentpoint exch pop
left exch moveto 0 lineskip rmoveto
} def
% Move to a new line if we are at the end of it
% - format -
/format {
currentpoint
pop
right gt
{crlf}
if
} def
clear
erasepage
initmatrix
0 top translate
% scale in persent
scaleX 100 div scaleY 100 div scale
left 0 moveto
note ransom
showpage