10
And now, 'SINED'.
a$="^^THE^QUICK^BROWN^FOX^JUMPS^OVER^THE^LAZY^DOG"
a$=a$+"^^the^quick^brown^fox^jumps^over^the^lazy^dog^^"
LoadFont()
s=.45
h=2.5
w=0
m=640
ang=pi/180
open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
c=peek("port1")
if c=16 s=s+.01
if c=64 s=s-.01
if c=128 w=w-.01
if c=32 w=w+.01
if w<0 w=0
x=40*s
for a=1 to len(a$)
if x+m+(CharacterWidth*s)>50 and x+m+(CharacterWidth*s)<640 then
PrintCharacter(mid$(a$,a,1), x+m, y,s)
endif
if m<-(len(a$)*40*s) m=640
x=x+(CharacterWidth*s)
next a
m=m-1
until (1=0)
sub LoadFont()
MAX_CHARACTERS = 256
dim Start(MAX_CHARACTERS) // holds first line number to index
dim Count(MAX_CHARACTERS) // holds the number of lines to draw
dim x1(1), y1(1), x2(1), y2(1) // array of lines
read NumCharacters
read CharacterWidth
read CharacterHeight
TotalLines = 1
for ch = 1 to NumCharacters
read Ascii$ // the character to use
read NumLines // the number of lines to draw
Ascii = asc(Ascii$)
Start(Ascii) = TotalLines
Count(Ascii) = NumLines
for l = 1 to NumLines
redim x1(TotalLines), y1(TotalLines)
redim x2(TotalLines), y2(TotalLines)
read x1(TotalLines), y1(TotalLines)
read x2(TotalLines), y2(TotalLines)
TotalLines = TotalLines + 1
next l
next ch
end sub
sub PrintCharacter(char$, x, y, s)
ch = asc(mid$(char$,1,1))
for i=Start(ch) to Start(ch)+Count(ch)-1
z=(y1(i)-y)*w
z1=(y2(i)-y)*w
y=sin((x+m)*ang)*200*s+300
line x+x1(i)*s-z, y+y1(i)*s*h to x+x2(i)*s-z1, y+y2(i)*s*h
next i
end sub
data 69// NumCharacters
data 40 // CharacterWidth
data 60 // CharacterHeight
data "A", 3
data -18, 00, 00,-40
data 00,-40, 18, 00
data -13,-11, 13,-11
data "B", 10
data -17, 00, -17,-40
data -17, 00, 07, 00
data -17,-20, 07,-20
data -17,-40, 07,-40
data 12,-35, 12,-25
data 12,-15, 12,-05
data 07,-40, 12,-35
data 07,-20, 12,-25
data 07,-20, 12,-15
data 07, 00, 12,-05
data "C", 7
data -15,-05, -15,-35
data -10, 00, 10, 00
data -10,-40, 10,-40
data -15,-35, -10,-40
data -15,-05, -10, 00
data 10,-40, 15,-35
data 10, 00, 15,-05
data "D", 6
data -15,-40, -15, 00
data -15,-40, 07,-40
data -15, 00, 07, 00
data 12,-35, 12,-05
data 07,-40, 12,-35
data 07, 00, 12,-05
data "E", 4
data -17, 00, -17,-40
data -17,-40, 15,-40
data -17, 00, 15, 00
data -17,-20, 12,-20
data "F", 3
data -17, 00, -17,-40
data -17,-40, 17,-40
data -17,-20, 10,-20
data "G", 10
data -17,-35, -17,-05
data -12,-40, 12,-40
data -12, 00, 12, 00
data 17,-05, 17,-20
data 17,-35, 17,-30
data 17,-20, 07,-20
data -17,-35, -12,-40
data -17,-05, -12, 00
data 12,-40, 17,-35
data 12, 00, 17,-05
data "H", 3
data -15, 00, -15,-40
data 15, 00, 15,-40
data -15,-20, 15,-20
data "I", 3
data 00, 00, 00,-40
data -10, 00, 10, 00
data -10,-40, 10,-40
data "J", 5
data 00,-40, 00,-05
data -10,-40, 10,-40
data -17,-05, -12, 00
data 00,-05, -05, 00
data -05, 00, -12, 00
data "K", 3
data -15, 00, -15,-40
data 15,-40, -15,-15
data 15, 00, -10,-18
data "L", 2
data -15, 00, -15,-40
data -15, 00, 10, 00
data "M", 4
data -17, 00, -17,-40
data 17, 00, 17,-40
data -17,-40, 00, 00
data 17,-40, 00, 00
data "N", 3
data -15, 00, -15,-40
data -15,-40, 15, 00
data 15, 00, 15,-40
data "O", 8
data -15,-05, -15,-35
data 15,-05, 15,-35
data -10,-40, 10,-40
data -10, 00, 10, 00
data -15,-35, -10,-40
data -15,-05, -10, 00
data 15,-35, 10,-40
data 15,-05, 10, 00
data "P", 6
data -17, 00, -17,-40
data -17,-40, 10,-40
data -17,-15, 10,-15
data 15,-35, 15,-20
data 10,-40, 15,-35
data 10,-15, 15,-20
data "Q", 9
data -15,-05, -15,-35
data 15,-05, 15,-35
data -10,-40, 10,-40
data -10, 00, 10, 00
data -15,-35, -10,-40
data -15,-05, -10, 00
data 15,-35, 10,-40
data 15,-05, 10, 00
data 15, 00, 05,-10
data "R", 7
data -17, 00, -17,-40
data -17,-40, 10,-40
data -17,-15, 10,-15
data 15,-35, 15,-20
data 10,-40, 15,-35
data 10,-15, 15,-20
data 17, 00, 05,-15
data "S", 11
data -12, 00, 12, 00
data -12,-20, 12,-20
data -12,-40, 12,-40
data -17,-25, -17,-35
data 17,-05, 17,-15
data -17,-35, -12,-40
data -17,-05, -12, 00
data 17,-35, 12,-40
data 17,-05, 12, 00
data -17,-25, -12,-20
data 17,-15, 12,-20
data "T", 2
data 00, 00, 00,-40
data -15,-40, 15,-40
data "U", 5
data -15,-05, -15,-40
data -15,-05, -10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 15,-05, 15,-40
data "V", 2
data -17,-40, 00, 00
data 00, 00, 17,-40
data "W", 4
data -20,-40, -10, 00
data -10, 00, 00,-40
data 00,-40, 10, 00
data 10, 00, 20,-40
data "X", 2
data -15,-40, 15, 00
data -15, 00, 15,-40
data "Y", 3
data -15,-40, 00,-15
data 15,-40, 00,-15
data 00,-15, 00, 00
data "Z", 3
data -15,-40, 15,-40
data 15,-40, -15, 00
data -15, 00, 15, 00
data "?", 12
data -07,-40, 07,-40
data -07,-40,-12,-35
data 07,-40, 12,-35
data 12,-35, 12,-25
data 12,-25, 07,-20
data 07,-20, 05,-20
data 05,-20, 00,-15
data 00,-15, 00,-07
data -01,-02, 01, 00
data -01, 00, 01,-02
data 00, 00, 00,-02
data -01,-01, 01,-01
data ".", 4
data -01,-02, 01, 00
data -01, 00, 01,-02
data 00, 00, 00,-02
data -01,-01, 01,-01
data "!", 5
data 00,-07, 00,-40
data -01,-02, 01, 00
data -01, 00, 01,-02
data 00, 00, 00,-02
data -01,-01, 01,-01
data "-", 1
data -07,-20, 07,-20
data "'", 6
data -01,-40, 01,-38
data -01,-38, 01,-40
data 00,-38, 00,-38
data -01,-39, 01,-39
data -01,-38,-02,-35
data -02,-35, 01,-38
data ",", 6
data -01,-02, 01, 00
data -01, 00, 01,-02
data 00, 00, 00, 00
data -01,-01, 01,-01
data -01, 00,-02, 03
data -02, 03, 01, 00
data "1", 3
data 00, 00, 00,-40
data 00,-40,-05,-35
data -05, 00, 05, 00
data "2", 9
data -15,-35,-10,-40
data -10,-40, 10,-40
data 10,-40, 15,-35
data 15,-35, 15,-22
data 15,-22, 10,-17
data 10,-17,-10,-17
data -10,-17,-15,-12
data -15,-12,-15, 00
data -15, 00, 15, 00
data "3",11
data -15,-35,-10,-40
data -10,-40, 10,-40
data 10,-40, 15,-35
data 15,-35, 15,-25
data 15,-25, 10,-20
data 10,-20, 15,-15
data 15,-15, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data 00,-20, 10,-20
data "4", 4
data 07, 00, 07,-40
data 07,-40,-15,-15
data -15,-15,-15,-10
data -15,-10, 17,-10
data "5", 8
data 15,-40,-15,-40
data -15,-40,-15,-22
data -15,-22, 10,-22
data 10,-22, 15,-17
data 15,-17, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data "6",11
data 15,-35, 10,-40
data 10,-40,-10,-40
data -10,-40,-15,-35
data -15,-35,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 15,-05, 15,-17
data 15,-17, 10,-22
data 10,-22,-10,-22
data -10,-22,-15,-15
data "7", 2
data -15,-40, 15,-40
data 15,-40,-02, 00
data "8",15
data -15,-35,-10,-40
data -10,-40, 10,-40
data 10,-40, 15,-35
data 15,-35, 15,-25
data 15,-25, 10,-20
data 10,-20, 15,-15
data 15,-15, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data -15,-05,-15,-15
data -15,-15,-10,-20
data -10,-20,-15,-25
data -15,-25,-15,-35
data -10,-20, 10,-20
data "9",11
data 15,-22,10,-17
data 10,-17,-10,-17
data -10,-17,-15,-22
data -15,-22,-15,-35
data -15,-35,-10,-40
data -10,-40, 10,-40
data 10,-40, 15,-35
data 15,-35, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data "0", 9
data -15,-35,-10,-40
data -10,-40, 10,-40
data 10,-40, 15,-35
data 15,-35, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data -15,-05,-15,-35
data -10,-40, 10, 00
data "a",12
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15,-05
data 15,-05, 20, 00
data 15,-12, 10,-17
data 10,-17,-10,-17
data -10,-17,-15,-12
data -15,-12,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data "b", 10
data -10,-40,-15,-35
data -15,-35,-15,-05
data -15,-05,-20, 00
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data "c", 7
data 15,-20, 10,-25
data 10,-25,-10,-25
data -10,-25,-15,-20
data -15,-20,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data "d",10
data 15,-20, 10,-25
data 10,-25,-10,-25
data -10,-25,-15,-20
data -15,-20,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 10,-40, 15,-35
data 15,-35, 15,-05
data 15,-05, 20, 00
data "e", 9
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data -15,-05,-15,-20
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15,-12
data 15,-12,-15,-12
data "f", 5
data 15,-35, 10,-40
data 10,-40, 00,-40
data 00,-40,-05,-35
data -05,-35,-05, 00
data -15,-20, 05,-20
data "g",11
data 15,-20, 10,-25
data 10,-25,-10,-25
data -10,-25,-15,-20
data -15,-20,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 15,-20, 15, 10
data 15, 10, 10, 15
data 10, 15,-10, 15
data -10, 15,-15, 10
data "h", 6
data -10,-40,-15,-35
data -15,-35,-15, 00
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15, 00
data "i", 5
data 00, 00, 00,-25
data -01,-32, 01,-30
data -01,-30, 01,-32
data 00,-30, 00,-32
data -01,-31, 01,-31
data "j", 9
data 00, 00, 00,-25
data 00,-25, 00, 10
data 00, 10,-05, 15
data -05, 15,-10, 15
data -10, 15,-15, 10
data -01,-32, 01,-30
data -01,-30, 01,-32
data 00,-30, 00,-32
data -01,-31, 01,-31
data "k", 4
data -10,-40,-15,-35
data -15,-35,-15, 00
data 10,-25,-15,-10
data 10, 00,-08,-14
data "l", 2
data 00,-40,-05,-35
data -05,-35,-05, 00
data "m", 9
data -15,-25,-15, 00
data -15,-20,-10,-25
data -10,-25,-05,-25
data -05,-25, 00,-20
data 00,-20, 00, 00
data 00,-20, 05,-25
data 05,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15, 00
data "n",5
data -15,-25,-15, 00
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15, 00
data "o", 8
data 15,-20, 10,-25
data 10,-25,-10,-25
data -10,-25,-15,-20
data -15,-20,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 15,-05, 15,-20
data "p", 8
data -15,-25,-15, 20
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data 15,-20, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data "q", 8
data 15,-25, 15, 20
data 15,-20, 10,-25
data 10,-25,-10,-25
data -10,-25,-15,-20
data -15,-20,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data "r", 4
data -15,-25,-15, 00
data -15,-20,-10,-25
data -10,-25, 10,-25
data 10,-25, 15,-20
data "s",11
data 15,-20, 10,-25
data 10,-25,-10,-25
data -10,-25,-15,-20
data -15,-20,-15,-18
data -15,-18,-10,-13
data -10,-13, 10,-13
data 10,-13, 15,-10
data 15,-10, 15,-05
data 15,-05, 10, 00
data 10, 00,-10, 00
data -10, 00,-15,-05
data "t", 3
data -05,-40,-05,-05
data -05,-05, 00, 00
data -10,-25, 05,-25
data "u", 5
data -15,-25,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 15, 00, 15,-25
data "v", 2
data -13,-25, 00, 00
data 00, 00, 13,-25
data "w", 4
data -15,-25,-08, 00
data -08, 00, 00,-25
data 00,-25, 08, 00
data 08, 00, 15,-25
data "x", 2
data -10,-25, 10, 00
data -10, 00, 10,-25
data "y", 8
data -15,-25,-15,-05
data -15,-05,-10, 00
data -10, 00, 10, 00
data 10, 00, 15,-05
data 15,-25, 15, 10
data 15, 10, 10, 15
data 10, 15,-10, 15
data -10, 15,-15, 10
data "z", 3
data -13,-25, 13,-25
data 13,-25,-13, 00
data -13, 00, 13, 00
data "^",28
data -04,-35, 04,-35
data 04,-35, 11,-31
data 11,-31, 15,-24
data 15,-24, 15,-16
data 15,-16, 11,-09
data 11,-09, 04,-05
data 04,-05,-04,-05
data -04,-05,-11,-09
data -11,-09,-15,-16
data -15,-16,-15,-24
data -15,-24,-11,-31
data -11,-31,-04,-35
data -06,-26,-04,-26
data -07,-25,-03,-25
data -08,-24,-02,-24
data -08,-23,-02,-23
data -07,-22,-03,-22
data -06,-21,-04,-21
data 04,-26, 06,-26
data 03,-25, 07,-25
data 02,-24, 08,-24
data 02,-23, 08,-23
data 03,-22, 07,-22
data 04,-21, 06,-21
data -09,-17,-06,-14
data -06,-14, 00,-12
data 00,-12, 06,-14
data 06,-14, 09,-17