%include "edwin:specs.inc"
%external %string (255) %fn %spec ItoS (%integer I, P)
%begin
   %own %integer init = 0
   %const %integer split = 32
   %integer alphabet, char, set, y

   %on 14 %start
       ! Event 14,6 is signaled if you choose an alphabet that doesn't exist.
       alphabet = alphabet + 1
   %finish

   %if init=0 %start
       initialise for (default device)
       viewport (0, 85*400, 0, 60*400) %if default device = 7580
       viewport (0, 40*400, 0, 28*400) %if default device = 7221 %or default device = 7220
       window (0, 7200, 0, 4000)
       new frame
       prompt ("Page 1 or Page 2: ")
       read symbol (set) %until set='1' %or set='2'
       set char quality (1)
       set char size (60)
       %if set='1' %start
           alphabet = 1
           set = split
       %else
           set = 64
           alphabet = split+1
       %finish
       init = 1
   %finish
   
   %cycle
      y = 120 * alphabet
      %if set = 64 %then y = y - 120*(split-1)
      move abs (0, y)
      set char font (26)
      text ("Set".itos(alphabet,2)." : ")
      set char font (alphabet)
      %for char = 1, 1, 127 %cycle
         character (char)
      %repeat
      alphabet = alphabet + 1
   %repeat %until alphabet>set
   terminate edwin
%end %of %program
