%include "EDWIN:SPECS.INC"
%begin
   ! EDWIN test program 4
   ! Program to draw the EDWIN character set on a plotter to check for
   ! consistancy of letters, and also demonstrate the character set.

   %const %integer PDF STREAM = 2, GOOD = 1
   %integer I, X, Y

PROMPT ("Device:")  ;  READ (I)  ;  INITIALISE FOR (I)

NEW FRAME
STORE ON (PDF STREAM)

MOVE ABS (400, 20)  ;  ! Bottom right corner

! The boxes are now drawn to minimise moves.
MOVE REL (-36, 0) %and LINE REL (-36, 0) %for I = 1, 1, 4
LINE REL (0, 720)
MOVE REL (36, 0) %and LINE REL (36, 0) %for I = 1, 1, 4
%for I = 1, 1, 4 %cycle
   LINE REL (0, -720 )  ;  LINE REL (-36, 0)
   LINE REL (0, 720)  ;  LINE REL (-36, 0)
%repeat
%for I = 1, 1, 6 %cycle
   MOVE REL (0, -60)  ;  LINE REL (288, 0)
   MOVE REL (0, -60)  ;  LINE REL (-288, 0)
%repeat

X = 112  ;  Y = 697  ;  MOVE ABS (X, Y)  ;  I = 32

SET CHAR SIZE (36)
SET CHAR QUALITY (GOOD)

%cycle; ! To draw the characters
   MARKER REL (4, 0, 0)
   CHARACTER (I)
   I = I + 1  ;  %exit %if I=127
   %if X = 364 %start; ! The end of a row
       MARKER REL (4, 0, 0)
       Y = Y - 60
       X = 112
   %finish %else X = X + 36
   MOVE ABS (X, Y)
%repeat
TERMINATE EDWIN
%end %of %program
