'=========================================================================== ' Subject: USING VECTOR FONTS Date: 06-28-00 (19:51) ' Author: Edward L. Blake Code: QB, QBasic, PDS ' Origin: blakee@cyanwerks.com Packet: GRAPHICS.ABC '=========================================================================== ' 1995-96 Edward Blake, Display Adjustable text, Usable in almost ' all the Graphics modes (blakee@cyanwerks.com) ' Qbasic\Quick Basic 4.5 ' use the Word procedure for displaying a message, the Word procedure ' provides a interface with the letter procedure ,who accepts only one ' character at a time. the Letter procedure is a large procedure ' It displays Uppercase letters, numbers.. all except Lowercase characters, ' extended characters, @ and & DECLARE SUB WORD (Message$, TextColor!, X!, Y!, LtrSep!, Size!) DECLARE SUB LETTER (A$, C!, X!, Y!, SZ!) SCREEN 12 WORD "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 15, 1, 1, 12, 1 WORD "`1234567890-=~!#$%^*()_+[]{};':" + CHR$(34) + ",./\<>?|", 15, 1, 25, 12, 1 WORD "Normal size", 15, 1, 75, 12, 1 WORD "Half size", 15, 1, 100, 7, .5 WORD "a fourth of the size", 15, 1, 115, 4, .25 WORD "Shadowed using two word calls", 8, 5, 130, 7, .5 WORD "Shadowed using two word calls", 15, 1, 125, 7, .5 WORD "Compressed Text", 1, 5, 150, 5, .5 WORD "Stretched text", 9, 5, 175, 15, .5 DO UNTIL INKEY$ <> "" FOR i = 1 TO 15 WORD "Special effect.. Decompressing text", 10, 5, 200, i, .5 T1 = TIMER DO IF TIMER > T1 + .01 THEN EXIT DO IF TIMER < T1 - .01 THEN EXIT DO LOOP WORD "Special effect.. Decompressing text", 0, 5, 200, i, .5 NEXT i WORD "Special effect.. Decompressing text", 10, 5, 200, i, .5 T1 = TIMER DO IF TIMER > T1 + 1 THEN EXIT DO IF TIMER < T1 - 1 THEN EXIT DO LOOP WORD "Special effect.. Decompressing text", 0, 5, 200, i, .5 FOR i = 15 TO 1 STEP -1 WORD "Special effect.. Decompressing text", 10, 5, 200, i, .5 T1 = TIMER DO IF TIMER > T1 + .01 THEN EXIT DO IF TIMER < T1 - .01 THEN EXIT DO LOOP WORD "Special effect.. Decompressing text", 0, 5, 200, i, .5 NEXT i WORD "Special effect.. Decompressing text", 10, 5, 200, i, .5 T1 = TIMER DO IF TIMER > T1 + 1 THEN EXIT DO IF TIMER < T1 - 1 THEN EXIT DO LOOP WORD "Special effect.. Decompressing text", 0, 5, 200, i, .5 WORD "Press any key to continue", 7, 5, 250, 7, .5 LOOP SUB LETTER (A$, C, X, Y, SZ) A$ = UCASE$(A$) PA = X PB = Y SELECT CASE A$ CASE "A" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 10 * SZ, PB + 10 * SZ), C LINE (PA + 10 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB + 10 * SZ)-(PA, PB + 10 * SZ), C CASE "B" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 5 * SZ, PB), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA, PB + 10 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA, PB + 20 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "C" LINE (PA, PB + 5 * SZ)-(PA, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA, PB + 5 * SZ)-(PA + 5 * SZ, PB), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "D" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 5 * SZ, PB), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA, PB + 20 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "E" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 10 * SZ, PB), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA, PB + 10 * SZ), C LINE (PA, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "F" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 10 * SZ, PB), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA, PB + 10 * SZ), C CASE "G" LINE (PA, PB + 5 * SZ)-(PA, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA, PB + 5 * SZ)-(PA + 5 * SZ, PB), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 15 * SZ), C CASE "H" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA, PB + 10 * SZ)-(PA + 10 * SZ, PB + 10 * SZ), C CASE "I" LINE (PA + 5 * SZ, PB)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "J" LINE (PA + 10 * SZ, PB + 1 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA, PB + 15 * SZ)-(PA, PB + 10 * SZ), C CASE "K" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB + 10 * SZ)-(PA + 10 * SZ, PB), C LINE (PA, PB + 10 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "L" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "M" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA, PB)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 10 * SZ, PB)-(PA + 5 * SZ, PB + 10 * SZ), C CASE "N" LINE (PA, PB)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "O" LINE (PA, PB + 5 * SZ)-(PA, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA, PB + 5 * SZ)-(PA + 5 * SZ, PB), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C CASE "P" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 5 * SZ, PB), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA, PB + 10 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C CASE "Q" LINE (PA, PB + 5 * SZ)-(PA, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA, PB + 5 * SZ)-(PA + 5 * SZ, PB), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 5 * SZ, PB + 15 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "R" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB)-(PA + 5 * SZ, PB), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA, PB + 10 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA, PB + 10 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "S" LINE (PA, PB + 5 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA, PB + 5 * SZ)-(PA + 5 * SZ, PB), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "T" LINE (PA + 5 * SZ, PB)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA, PB)-(PA + 10 * SZ, PB), C CASE "U" LINE (PA, PB)-(PA, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "V" LINE (PA, PB)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB), C CASE "W" LINE (PA, PB)-(PA + 3 * SZ, PB + 20 * SZ), C LINE (PA + 3 * SZ, PB + 20 * SZ)-(PA + 5 * SZ, PB), C LINE (PA + 5 * SZ, PB)-(PA + 8 * SZ, PB + 20 * SZ), C LINE (PA + 8 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB), C CASE "X" LINE (PA, PB)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB)-(PA, PB + 20 * SZ), C CASE "Y" LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA + 5, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA, PB), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB), C CASE "Z" LINE (PA, PB)-(PA + 10 * SZ, PB), C LINE (PA + 10 * SZ, PB)-(PA, PB + 20 * SZ), C LINE (PA, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "'" LINE (PA + 9 * SZ, PB)-(PA + 5 * SZ, PB + 5 * SZ), C CASE "1" LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 0 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 0 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "2" LINE (PA + 0 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C LINE (PA + 0 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 7 * SZ, PB + 0 * SZ), C LINE (PA + 7 * SZ, PB + 0 * SZ)-(PA + 3 * SZ, PB + 0 * SZ), C LINE (PA + 0 * SZ, PB + 3 * SZ)-(PA + 3 * SZ, PB + 0 * SZ), C CASE "3" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 2 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 0 * SZ, PB + 18 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "4" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 10 * SZ), C LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 10 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "5" LINE (PA + 0 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 0 * SZ), C LINE (PA + 0 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 10 * SZ), C LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 0 * SZ, PB + 17 * SZ), C CASE "6" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C CASE "7" LINE (PA + 0 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 0 * SZ), C LINE (PA + 10 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 20 * SZ), C CASE "8" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 5 * SZ), C LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "9" LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 0 * SZ), C LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 0 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 10 * SZ), C CASE "0" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 10 * SZ, PB + 5 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 0 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 0 * SZ, PB + 15 * SZ)-(PA + 0 * SZ, PB + 5 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 5 * SZ), C LINE (PA + 0 * SZ, PB + 15 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C CASE "," LINE (PA + 4 * SZ, PB + 20 * SZ)-(PA + 6 * SZ, PB + 15 * SZ), C CASE "-" LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 10 * SZ), C CASE "." LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "[" LINE (PA + 2 * SZ, PB + 0 * SZ)-(PA + 2 * SZ, PB + 20 * SZ), C LINE (PA + 2 * SZ, PB + 0 * SZ)-(PA + 6 * SZ, PB + 0 * SZ), C LINE (PA + 2 * SZ, PB + 20 * SZ)-(PA + 6 * SZ, PB + 20 * SZ), C CASE "]" LINE (PA + 6 * SZ, PB + 0 * SZ)-(PA + 6 * SZ, PB + 20 * SZ), C LINE (PA + 6 * SZ, PB + 0 * SZ)-(PA + 2 * SZ, PB + 0 * SZ), C LINE (PA + 6 * SZ, PB + 20 * SZ)-(PA + 2 * SZ, PB + 20 * SZ), C CASE "{" LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 3 * SZ, PB + 8 * SZ), C LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 3 * SZ, PB + 12 * SZ), C LINE (PA + 2 * SZ, PB + 3 * SZ)-(PA + 3 * SZ, PB + 8 * SZ), C LINE (PA + 2 * SZ, PB + 17 * SZ)-(PA + 3 * SZ, PB + 12 * SZ), C LINE (PA + 2 * SZ, PB + 3 * SZ)-(PA + 4 * SZ, PB + 0 * SZ), C LINE (PA + 2 * SZ, PB + 17 * SZ)-(PA + 4 * SZ, PB + 20 * SZ), C CASE "}" LINE (PA + 10 * SZ, PB + 10 * SZ)-(PA + 7 * SZ, PB + 12 * SZ), C LINE (PA + 10 * SZ, PB + 10 * SZ)-(PA + 7 * SZ, PB + 8 * SZ), C LINE (PA + 8 * SZ, PB + 17 * SZ)-(PA + 7 * SZ, PB + 12 * SZ), C LINE (PA + 8 * SZ, PB + 3 * SZ)-(PA + 7 * SZ, PB + 8 * SZ), C LINE (PA + 8 * SZ, PB + 17 * SZ)-(PA + 6 * SZ, PB + 20 * SZ), C LINE (PA + 8 * SZ, PB + 3 * SZ)-(PA + 6 * SZ, PB + 0 * SZ), C CASE "<" LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 0 * SZ), C LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE ">" LINE (PA + 10 * SZ, PB + 10 * SZ)-(PA + 0 * SZ, PB + 0 * SZ), C LINE (PA + 10 * SZ, PB + 10 * SZ)-(PA + 0 * SZ, PB + 20 * SZ), C CASE "|" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 5 * SZ, PB + 24 * SZ), C CASE "`" LINE (PA + 0 * SZ, PB + 0 * SZ)-(PA + 5 * SZ, PB + 5 * SZ), C CASE "!" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 5 * SZ, PB + 12 * SZ), C CIRCLE (PA + 5 * SZ, PB + 17 * SZ), 2, C CASE "=" LINE (PA + 0 * SZ, PB + 7 * SZ)-(PA + 9 * SZ, PB + 7 * SZ), C LINE (PA + 0 * SZ, PB + 13 * SZ)-(PA + 9 * SZ, PB + 13 * SZ), C CASE "~" LINE (PA + 0 * SZ, PB + 3 * SZ)-(PA + 3 * SZ, PB + 0 * SZ), C LINE (PA + 3 * SZ, PB + 0 * SZ)-(PA + 6 * SZ, PB + 3 * SZ), C LINE (PA + 6 * SZ, PB + 3 * SZ)-(PA + 9 * SZ, PB + 0 * SZ), C CASE "/" LINE (PA + 0 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 0 * SZ), C CASE "^" LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 5 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C CASE "\" LINE (PA + 0 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE "+" LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 10 * SZ), C LINE (PA + 5 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 15 * SZ), C CASE "_" LINE (PA + 0 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 20 * SZ), C CASE ":" CIRCLE (PA + 5 * SZ, PB + 3 * SZ), 2, C CIRCLE (PA + 5 * SZ, PB + 17 * SZ), 2, C CASE ";" CIRCLE (PA + 5 * SZ, PB + 3 * SZ), 2, C LINE (PA + 4 * SZ, PB + 20 * SZ)-(PA + 6 * SZ, PB + 15 * SZ), C CASE "?" CIRCLE (PA + 5 * SZ, PB + 3 * SZ), 5, C, 3 + 1.5, 3 LINE (PA + 5 * SZ, PB + 8 * SZ)-(PA + 5 * SZ, PB + 12 * SZ), C CIRCLE (PA + 5 * SZ, PB + 17 * SZ), 2, C CASE "#" LINE (PA + 3 * SZ, PB + 0 * SZ)-(PA + 3 * SZ, PB + 20 * SZ), C LINE (PA + 6 * SZ, PB + 20 * SZ)-(PA + 6 * SZ, PB + 0 * SZ), C LINE (PA + 10 * SZ, PB + 6 * SZ)-(PA + 0 * SZ, PB + 6 * SZ), C LINE (PA + 0 * SZ, PB + 12 * SZ)-(PA + 10 * SZ, PB + 12 * SZ), C CASE "%" CIRCLE (PA + 3 * SZ, PB + 3 * SZ), 2, C LINE (PA + 0 * SZ, PB + 20 * SZ)-(PA + 10 * SZ, PB + 0 * SZ), C CIRCLE (PA + 7 * SZ, PB + 17 * SZ), 2, C CASE "(" LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 5 * SZ, PB + 0 * SZ), C LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C LINE (PA + 5 * SZ, PB + 20 * SZ)-(PA + 0 * SZ, PB + 15 * SZ), C CASE ")" LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA + 5 * SZ, PB + 0 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C CASE "$" LINE (PA, PB + 5 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA, PB + 15 * SZ)-(PA + 5 * SZ, PB + 17 * SZ), C LINE (PA + 5 * SZ, PB + 3 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C LINE (PA, PB + 5 * SZ)-(PA + 5 * SZ, PB + 3 * SZ), C LINE (PA + 10 * SZ, PB + 15 * SZ)-(PA + 5 * SZ, PB + 17 * SZ), C LINE (PA + 5 * SZ, PB + 3 * SZ)-(PA + 5 * SZ, PB + 0 * SZ), C LINE (PA + 5 * SZ, PB + 17 * SZ)-(PA + 5 * SZ, PB + 20 * SZ), C CASE "*" LINE (PA + 0 * SZ, PB + 10 * SZ)-(PA + 10 * SZ, PB + 10 * SZ), C LINE (PA + 0 * SZ, PB + 5 * SZ)-(PA + 10 * SZ, PB + 15 * SZ), C LINE (PA + 0 * SZ, PB + 15 * SZ)-(PA + 10 * SZ, PB + 5 * SZ), C CASE CHR$(34) LINE (PA + 3 * SZ, PB + 0 * SZ)-(PA + 3 * SZ, PB + 4 * SZ), C LINE (PA + 7 * SZ, PB + 4 * SZ)-(PA + 7 * SZ, PB + 0 * SZ), C END SELECT 'LINE (PA + 0 * SZ, PB + 0 * SZ)-(PA + 0 * SZ, PB + 0 * SZ), C END SUB SUB WORD (Message$, TextColor, X, Y, LtrSep, Size) FOR i = 1 TO LEN(Message$) B$ = MID$(Message$, i, 1) LETTER B$, TextColor, (LtrSep * i) + X - LtrSep, Y, Size NEXT i END SUB