I bothered to do a letter-only upper case font.
Some of the letters could be a bit more pleasant looking - which I'll probably fix - later.
It's only for title headings.
The working part of the program was done for me in another post.
a$="i bothered to do a basic letter only upper"
a$=a$+" case font for title headings in pstwo"
a$=a$+" abcde fghij klmno pqrst uvwxyz"
LoadFont()
open window 640,512
repeat
setdrawbuf vm
vm=1-vm
setdispbuf vm
clear window
x=20
y=20
for a=1 to len(a$)
PrintCharacter(mid$(a$,a,1),x,y)
x=x+CharacterWidth
if x>500 and mid$(a$,a,1)=" " then
y=y+CharacterHeight
x=CharacterWidth
endif
next a
until (1=0)
sub LoadFont()
MAX_CHARACTERS=256
dim Start(MAX_CHARACTERS)
dim Count(MAX_CHARACTERS)
dim x1(1),y1(1),x2(1),y2(1),x3(1),y3(1)
read NumCharacters
read CharacterWidth
read CharacterHeight
TotalLines=1
for ch=1 to NumCharacters
read Ascii$
read NumLines
Ascii = asc(lower$(Ascii$))
Start(Ascii) = TotalLines
Count(Ascii) = NumLines
for l=1 to NumLines
redim x1(TotalLines),y1(TotalLines)
redim x2(TotalLines),y2(TotalLines)
redim x3(TotalLines),y3(TotalLines)
read x1(TotalLines),y1(TotalLines)
read x2(TotalLines),y2(TotalLines)
read x3(TotalLines),y3(TotalLines)
TotalLines = TotalLines + 1
next l
next ch
end sub
sub PrintCharacter(char$,x,y)
ch = asc(mid$(char$,1,1))
for i=Start(ch) to Start(ch)+Count(ch)-1
fill triangle x+x1(i),y+y1(i) to x+x2(i),y+y2(i) to x+x3(i),y+y3(i)
next i
end sub
data 26 rem numcharacters
data 27 rem characterwidth
data 35 rem characterheight
data "a",8
data 9,0,15,0,6,9
data 15,0,18,9,6,9
data 6,9,12,9,6,27
data 6,9,6,27,0,27
data 12,9,18,9,18,27
data 18,9,24,27,18,27
data 15,18,17,24,7,24
data 9,18,15,18,7,24
data "b",29
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 6,0,9,6,6,6
data 6,0,9,0,9,6
data 9,0,12,1,9,6
data 12,1,14,3,9,6
data 14,3,10,7,9,6
data 14,3,15,5,10,7
data 15,5,16,7,10,7
data 10,7,16,7,16,9
data 10,7,16,9,10,9
data 10,9,16,9,15,11
data 10,9,15,11,13,13
data 10,9,13,13,9,10
data 9,10,13,13,9,16
data 6,10,9,10,9,16
data 6,10,9,16,6,16
data 13,13,11,17,9,16
data 13,13,16,15,11,17
data 16,15,17,17,11,17
data 11,17,17,17,17,20
data 11,17,17,20,11,20
data 11,20,17,20,16,22
data 11,20,16,22,14,25
data 11,20,14,25,12,26
data 11,20,12,26,9,21
data 9,21,12,26,9,27
data 6,21,9,21,9,27
data 6,21,9,27,6,27
data "c",30
data 17,6,18,9,12,9
data 11,7,17,6,12,9
data 16,4,17,6,11,7
data 16,4,11,7,10,6
data 13,1,16,4,10,6
data 10,0,13,1,10,6
data 8,0,10,0,10,6
data 8,0,10,6,8,6
data 5,1,8,0,8,6
data 5,1,8,6,2,4
data 2,4,8,6,7,8
data 2,4,7,8,1,6
data 1,6,7,8,6,9
data 1,6,6,9,0,9
data 0,9,6,9,0,18
data 6,9,6,18,0,18
data 0,18,6,18,1,21
data 6,18,7,19,1,21
data 1,21,7,19,2,23
data 7,19,5,26,2,23
data 7,19,8,20,5,26
data 8,20,8,27,5,26
data 8,20,10,20,8,27
data 10,20,10,27,8,27
data 10,20,13,26,10,27
data 11,19,13,26,10,20
data 11,19,16,23,13,26
data 11,19,17,21,16,23
data 12,18,17,21,11,19
data 12,18,18,18,17,21
data "d",20
data 0,0,10,0,0,6
data 10,0,10,6,0,6
data 10,0,13,1,10,6
data 13,1,16,4,10,6
data 16,4,11,7,10,6
data 16,4,17,6,11,7
data 17,6,12,9,11,7
data 17,6,18,9,12,9
data 12,9,18,9,18,18
data 12,9,18,18,12,18
data 12,18,18,18,17,21
data 12,18,17,21,11,20
data 11,20,17,20,16,23
data 11,20,16,23,10,21
data 10,21,16,23,13,26
data 10,21,13,26,10,27
data 0,21,10,21,10,27
data 0,21,10,27,0,27
data 6,6,6,21,0,21
data 0,6,6,6,0,21
data "e",8
data 0,0,18,0,0,6
data 18,0,18,6,0,6
data 6,10,15,10,6,16
data 15,10,15,16,6,16
data 0,6,6,6,6,21
data 0,6,6,21,0,21
data 0,21,18,21,0,27
data 18,21,18,27,0,27
data "f",6
data 0,0,18,0,0,6
data 18,0,18,6,0,6
data 6,10,15,10,6,16
data 15,10,15,16,6,16
data 0,6,6,6,6,27
data 0,6,6,27,0,27
data "g",34
data 17,6,18,9,12,9
data 11,7,17,6,12,9
data 16,4,17,6,11,7
data 16,4,11,7,10,6
data 13,1,16,4,10,6
data 10,0,13,1,10,6
data 8,0,10,0,10,6
data 8,0,10,6,8,6
data 5,1,8,0,8,6
data 5,1,8,6,2,4
data 2,4,8,6,7,8
data 2,4,7,8,1,6
data 1,6,7,8,6,9
data 1,6,6,9,0,9
data 0,9,6,9,0,18
data 6,9,6,17,0,18
data 0,18,6,17,1,21
data 6,17,7,19,1,21
data 1,21,7,19,2,23
data 7,19,5,26,2,23
data 7,19,8,20,5,26
data 8,20,8,27,5,26
data 8,20,10,20,8,27
data 10,20,10,27,8,27
data 10,20,13,26,10,27
data 11,19,13,26,10,20
data 11,19,16,23,13,26
data 11,19,17,21,16,23
data 12,17,17,21,11,19
data 12,17,18,18,17,21
data 18,13,18,18,12,18
data 12,13,18,13,12,18
data 12,13,12,17,9,17
data 9,13,12,13,9,17
data "h",6
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 6,10,12,10,6,16
data 12,10,12,16,6,16
data 12,0,18,0,12,27
data 18,0,18,27,12,27
data "i",6
data 3,0,17,0,3,6
data 17,0,17,6,3,6
data 7,6,13,6,7,21
data 13,6,13,21,7,21
data 3,21,17,21,3,27
data 17,21,17,27,3,27
data "j",18
data 0,18,6,18,1,21
data 6,17,7,19,1,21
data 1,21,7,19,2,23
data 7,19,5,26,2,23
data 7,19,8,20,5,26
data 8,20,8,27,5,26
data 8,20,10,20,8,27
data 10,20,10,27,8,27
data 10,20,13,26,10,27
data 11,19,13,26,10,20
data 11,19,16,23,13,26
data 11,19,17,21,16,23
data 12,18,17,21,11,19
data 12,18,18,18,17,21
data 6,0,18,0,6,6
data 18,0,18,6,6,6
data 12,6,18,6,12,18
data 18,6,18,18,12,18
data "k",6
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 16,0,24,0,6,10
data 24,0,6,18,6,10
data 11,13,24,27,16,27
data 11,13,16,27,7,17
data "l",4
data 3,0,9,0,3,27
data 9,0,9,27,3,27
data 9,21,21,21,9,27
data 21,21,21,27,9,27
data "m",9
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 6,0,12,18,6,18
data 6,18,12,18,9,27
data 12,18,15,27,9,27
data 12,18,18,18,15,27
data 18,0,18,18,12,18
data 18,0,24,27,18,27
data 18,0,24,0,24,27
data "n",6
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 6,0,15,16,6,11
data 6,11,15,16,15,27
data 15,0,21,0,15,27
data 21,0,21,27,15,27
data "o",32
data 17,6,18,9,12,9
data 11,7,17,6,12,9
data 16,4,17,6,11,7
data 16,4,11,7,10,6
data 13,1,16,4,10,6
data 10,0,13,1,10,6
data 8,0,10,0,10,6
data 8,0,10,6,8,6
data 5,1,8,0,8,6
data 5,1,8,6,2,4
data 2,4,8,6,7,8
data 2,4,7,8,1,6
data 1,6,7,8,6,9
data 1,6,6,9,0,9
data 0,9,6,9,0,18
data 6,9,6,18,0,18
data 0,18,6,18,1,21
data 6,18,7,19,1,21
data 1,21,7,19,2,23
data 7,19,5,26,2,23
data 7,19,8,20,5,26
data 8,20,8,27,5,26
data 8,20,10,20,8,27
data 10,20,10,27,8,27
data 10,20,13,26,10,27
data 11,19,13,26,10,20
data 11,19,16,23,13,26
data 11,19,17,21,16,23
data 12,18,17,21,11,19
data 12,18,18,18,17,21
data 18,9,18,18,12,18
data 12,9,18,9,12,18
data "p",18
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 6,0,9,6,6,6
data 6,0,9,0,9,6
data 9,0,12,0,9,6
data 12,0,15,2,9,6
data 15,2,12,8,9,6
data 15,2,17,4,12,8
data 17,4,18,8,12,8
data 12,8,18,8,12,10
data 18,8,18,10,12,10
data 12,10,18,10,17,14
data 12,10,17,14,15,16
data 12,10,15,16,9,12
data 9,12,15,16,12,18
data 9,12,12,18,9,18
data 9,12,9,18,6,18
data 6,12,9,12,6,18
data "q",34
data 17,6,18,9,12,9
data 11,7,17,6,12,9
data 16,4,17,6,11,7
data 16,4,11,7,10,6
data 13,1,16,4,10,6
data 10,0,13,1,10,6
data 8,0,10,0,10,6
data 8,0,10,6,8,6
data 5,1,8,0,8,6
data 5,1,8,6,2,4
data 2,4,8,6,7,8
data 2,4,7,8,1,6
data 1,6,7,8,6,9
data 1,6,6,9,0,9
data 0,9,6,9,0,18
data 6,9,6,18,0,18
data 0,18,6,18,1,21
data 6,18,7,19,1,21
data 1,21,7,19,2,23
data 7,19,5,26,2,23
data 7,19,8,20,5,26
data 8,20,8,27,5,26
data 8,20,10,20,8,27
data 10,20,10,27,8,27
data 10,20,13,26,10,27
data 11,19,13,26,10,20
data 11,19,16,23,13,26
data 11,19,17,21,16,23
data 12,18,17,21,11,19
data 12,18,18,18,17,21
data 18,9,18,18,12,18
data 12,9,18,9,12,18
data 9,16,20,25,17,28
data 9,16,17,28,8,18
data "r",19
data 0,0,6,0,0,27
data 6,0,6,27,0,27
data 6,0,9,6,6,6
data 6,0,9,0,9,6
data 9,0,12,0,9,6
data 12,0,15,2,9,6
data 15,2,12,8,9,6
data 15,2,17,4,12,8
data 17,4,18,8,12,8
data 12,8,18,8,12,10
data 18,8,18,10,12,10
data 12,10,18,10,17,14
data 12,10,17,14,15,16
data 12,10,15,16,9,12
data 9,12,15,16,12,18
data 9,12,12,18,9,18
data 9,12,9,18,6,18
data 6,12,9,12,6,18
data 13,13,19,27,12,27
data 13,13,12,27,8,16
data "s",38
data 18,7,18,9,12,9
data 16,3,18,7,12,9
data 16,3,12,9,11,7
data 14,1,16,3,11,7
data 14,1,11,7,10,6
data 10,0,14,1,10,6
data 8,0,10,0,10,6
data 8,0,10,6,8,6
data 4,1,8,0,8,6
data 4,1,8,6,6,7
data 4,1,6,7,2,3
data 2,3,6,7,0,6
data 0,6,6,7,0,10
data 6,7,6,9,0,10
data 0,10,6,9,2,13
data 6,9,4,15,2,13
data 6,9,8,10,4,15
data 8,10,8,16,4,15
data 8,10,10,10,8,16
data 10,10,10,16,8,16
data 10,10,14,11,10,16
data 14,11,12,17,10,16
data 14,11,16,13,12,17
data 16,13,18,16,12,17
data 12,17,18,16,18,21
data 12,17,18,21,12,20
data 12,20,18,21,16,24
data 12,20,16,24,14,26
data 10,21,12,20,14,26
data 10,21,14,26,10,27
data 10,21,10,27,8,27
data 8,21,10,21,8,27
data 8,21,8,27,4,26
data 7,20,8,21,4,26
data 7,20,4,26,2,24
data 6,18,7,20,2,24
data 6,18,2,24,0,20
data 0,18,6,18,0,20
data "t",4
data 3,0,21,0,3,6
data 21,0,21,6,3,6
data 9,6,15,6,9,27
data 15,6,15,27,9,27
data "u",18
data 0,0,6,0,0,18
data 6,0,6,18,0,18
data 0,18,6,18,0,20
data 6,18,2,24,0,20
data 6,18,7,20,2,24
data 7,20,4,26,2,24
data 7,20,8,21,4,26
data 8,21,8,27,4,26
data 8,21,10,21,8,27
data 10,21,10,27,8,27
data 10,21,14,26,10,27
data 10,21,11,20,14,26
data 11,20,16,24,14,26
data 12,18,16,24,11,20
data 12,18,18,20,16,24
data 12,18,18,18,18,20
data 18,0,18,18,12,18
data 12,0,18,0,12,18
data "v",7
data 0,0,6,0,6,18
data 6,0,12,18,6,18
data 6,18,12,18,9,27
data 12,18,15,27,9,27
data 12,18,18,18,15,27
data 18,0,18,18,12,18
data 18,0,24,0,18,18
data "w",8
data 0,0,6,0,6,27
data 6,0,12,27,6,27
data 11,7,12,27,6,27
data 11,7,16,7,12,27
data 11,7,16,7,16,27
data 16,7,21,27,16,27
data 21,0,21,27,16,27
data 21,0,27,0,21,27
data "x",4
data 0,0,6,0,16,27
data 6,0,22,27,16,27
data 16,0,6,27,0,27
data 16,0,22,0,6,27
data "y",6
data 0,0,6,0,8,18
data 6,0,14,18,8,18
data 16,0,14,18,8,18
data 16,0,22,0,14,18
data 8,18,14,18,8,27
data 14,18,14,27,8,27
data "z",6
data 0,0,18,6,0,6
data 0,0,18,0,18,6
data 11,6,7,21,0,21
data 11,6,18,6,7,21
data 0,21,18,21,18,27
data 0,21,18,27,0,27