131 lines
2 KiB
PostScript
131 lines
2 KiB
PostScript
%!
|
|
/cm {28.2 mul} def
|
|
/BOXSIZE 2 cm def
|
|
|
|
/boxcen
|
|
{
|
|
% move to centre of box
|
|
BOXSIZE mul 2 div BOXSIZE 2 div rmoveto
|
|
exch
|
|
% move back by correct amount to ensure letter is in centre of box
|
|
dup stringwidth
|
|
pop 2 div neg % halve & neg x offset
|
|
% y offset appears to be zero! - so use constant 'square' char (eg X)
|
|
(X) stringwidth pop 2 div neg
|
|
} def
|
|
|
|
/letter
|
|
{
|
|
dup BOXSIZE mul 0 rlineto
|
|
0 BOXSIZE rlineto
|
|
dup BOXSIZE mul neg 0 rlineto
|
|
0 BOXSIZE neg rlineto
|
|
closepath
|
|
gsave
|
|
dup boxcen rmoveto
|
|
show
|
|
stroke
|
|
grestore
|
|
BOXSIZE mul 0 rmoveto
|
|
} def
|
|
|
|
/nextline {0 BOXSIZE neg rmoveto} def
|
|
|
|
/line
|
|
{
|
|
gsave
|
|
1 letter
|
|
1 letter
|
|
1 letter
|
|
1 letter
|
|
grestore
|
|
nextline
|
|
} def
|
|
|
|
/Times-Roman findfont 50 scalefont setfont
|
|
newpath
|
|
5 setlinewidth
|
|
200 650 translate
|
|
0 0 moveto
|
|
%2 setlinecap
|
|
|
|
gsave
|
|
(A) (G) (C) (T) line
|
|
(3) (4) (1) (2) line
|
|
(B) (H) (D) (V) line
|
|
(M) (N) (K) (L) line
|
|
(-) (X) (Y) (R) line
|
|
(8) (7) (6) (5) line
|
|
/Times-Roman findfont 25 scalefont setfont
|
|
gsave
|
|
(DELETE) 2 letter
|
|
(RESET) 2 letter
|
|
grestore
|
|
nextline
|
|
/Times-Roman findfont 35 scalefont setfont
|
|
gsave
|
|
(STOP) 4 letter
|
|
grestore
|
|
nextline
|
|
gsave
|
|
(START) 4 letter
|
|
grestore
|
|
nextline
|
|
gsave
|
|
(CONFIRM) 4 letter
|
|
grestore
|
|
nextline
|
|
% yukky from here on
|
|
gsave
|
|
0 BOXSIZE rmoveto
|
|
1 cm 0 rlineto stroke
|
|
grestore
|
|
(ORIGIN) dup 4 boxcen rmoveto show pop
|
|
(ORIGIN) stringwidth neg exch neg exch rmoveto
|
|
(X) stringwidth exch 2 div rmoveto
|
|
-5 0 rmoveto
|
|
2 setlinewidth
|
|
-45 21 rlineto
|
|
6 0 rlineto
|
|
-6 0 rmoveto
|
|
0 -6 rlineto
|
|
stroke
|
|
grestore
|
|
2 setlinewidth
|
|
0 BOXSIZE 1.4 mul rmoveto
|
|
6 6 rlineto
|
|
-6 -6 rmoveto
|
|
6 -6 rlineto
|
|
-6 6 rmoveto
|
|
80 0 rlineto
|
|
5 -6 rmoveto
|
|
/Times-Roman findfont 30 scalefont setfont
|
|
(8 cm) show
|
|
5 6 rmoveto
|
|
76 0 rlineto
|
|
-6 6 rlineto
|
|
6 -6 rmoveto
|
|
-6 -6 rlineto
|
|
stroke
|
|
0 0 moveto
|
|
BOXSIZE .4 mul neg BOXSIZE rmoveto
|
|
currentpoint translate
|
|
newpath
|
|
0 0 moveto
|
|
90 rotate
|
|
-6 6 rlineto
|
|
6 -6 rmoveto
|
|
-6 -6 rlineto
|
|
6 6 rmoveto
|
|
-244 0 rlineto
|
|
-84 0 rmoveto
|
|
0 -6 rmoveto
|
|
(20 cm) show
|
|
0 6 rmoveto
|
|
-84 0 rmoveto
|
|
-227 0 rlineto
|
|
6 6 rlineto
|
|
-6 -6 rmoveto
|
|
6 -6 rlineto
|
|
stroke
|
|
showpage
|