%!PS-Adobe-2.0
/r 360 26 div def
/inch { 72 mul} def
/Tempstr 2 string def
/Helvetica-Bold findfont 18 scalefont setfont
/radius 120 def
/circleofLetters {
[(A) (B) (C) (D) (E) (F) (G) (H) (I) (J)
(K) (L) (M) (N) (O) (P) (Q) (R) (S) (T)
(U) (V) (W) (X) (Y) (Z)]
/ary exch def % the array of letters
0 1 25{ % from 0 to 25 in steps of 1
/ind exch def % the for loop value
gsave
ind r mul neg rotate % rotate by (for loop value)*360/26
ary ind get stringwidth pop 2 div neg radius 30 add moveto
ary ind get show
% convert ind to string, store in Tempstr, using cvs
ind Tempstr cvs stringwidth pop 2 div neg radius 10 add moveto
ind Tempstr cvs show
3 setlinewidth
0 radius 50 add moveto 0 20 rlineto stroke
grestore
} for
}def
/circles {
3 setlinewidth
0 0 radius 60 add 0 360 arc stroke
0 0 6 0 360 arc stroke
1 setlinewidth
0 0 radius 80 add 0 360 arc [5 3] 0 setdash stroke
} def
/arrowhead {
newpath 0 radius 78 add moveto
-5 -12 rlineto 10 0 rlineto closepath fill
} def
8.5 inch 2 div 11 inch 2 div translate
circleofLetters
circles
arrowhead
/Helvetica-Bold findfont 13 scalefont setfont
-45 50 moveto (Inner letters are) show
-60 35 moveto (plaintext characters) show
-80 -50 moveto (Set arrow on pad character) show
-75 radius 100 add neg moveto ((Cut along dashed line.))show
showpage