Author Topic: Basic San Serif Font  (Read 4446 times)

0 Members and 1 Guest are viewing this topic.

Offline bikemadness

  • Amiga 1200
  • ****
  • Posts: 312
  • Karma: 25
  • Hard players don't go home.
    • View Profile
Basic San Serif Font
« on: August 07, 2016 »
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.

Code: [Select]
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
« Last Edit: August 08, 2016 by bikemadness »
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

Offline Rbz

  • Founder Member
  • DBF Aficionado
  • ********
  • Posts: 2757
  • Karma: 493
    • View Profile
    • https://www.rbraz.com/
Re: Basic San Serif Font
« Reply #1 on: August 07, 2016 »
Looks nice

Knowing the limitations of yabasic, I think you did a great job.  :)

Challenge Trophies Won:

Offline bikemadness

  • Amiga 1200
  • ****
  • Posts: 312
  • Karma: 25
  • Hard players don't go home.
    • View Profile
Re: Basic San Serif Font
« Reply #2 on: August 08, 2016 »
Thanks. It took a bit more work than the wire lettering I did before.
I now want assign a colour to each letter using data.
Not sure how to figure it. My first try failed. Random looked good.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

Offline bikemadness

  • Amiga 1200
  • ****
  • Posts: 312
  • Karma: 25
  • Hard players don't go home.
    • View Profile
Re: Basic San Serif Font
« Reply #3 on: August 09, 2016 »
This is my original program before the approach was altered. The colour assign is added. Easy.
It's more work any future project as I've been told, but I can't follow the altered against my
original to add the colour assign to the altered.

Code: [Select]
a$="once upon a time there was a king and queen,"
a$=a$+" and they lived happily ever after."
s=1
open window 640,512
x=20*s
y=60*s
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
x=20*s
y=60*s
for a=1 to len(a$)
if  mid$(a$,a,1)="a" then
setrgb 1,256,0,0
line x-(18*s),y to x,y-(40*s)
line x,y-(40*s) to x+(18*s),y
line x-(13*s),y-(11*s) to x+(13*s),y-(11*s)
endif
if mid$(a$,a,1)="b" then
setrgb 1,0,256,0
line x-(17*s),y to x-(17*s),y-(40*s)
line x-(17*s),y to x+(7*s),y
line x-(17*s),y-(20*s) to x+(7*s),y-(20*s)
line x-(17*s),y-(40*s) to x+(7*s),y-(40*s)
line x+(12*s),y-(35*s) to x+(12*s),y-(25*s)
line x+(12*s),y-(15*s) to x+(12*s),y-(5*s)
line x+(7*s),y-(40*s) to x+(12*s),y-(35*s)
line x+(7*s),y-(20*s) to x+(12*s),y-(25*s)
line x+(7*s),y-(20*s) to x+(12*s),y-(15*s)
line x+(7*s),y to x+(12*s),y-(5*s)
endif
if mid$(a$,a,1)="c" then
setrgb 1,0,0,256
line x-(15*s),y-(5*s) to x-(15*s),y-(35*s)
line x-(10*s),y to x+(10*s),y
line x-(10*s),y-(40*s) to x+(10*s),y-(40*s)
line x-(15*s),y-(35*s) to x-(10*s),y-(40*s)
line x-(15*s),y-(5*s) to x-(10*s),y
line x+(10*s),y-(40*s) to x+(15*s),y-(35*s)
line x+(10*s),y to x+(15*s),y-(5*s)
endif
if mid$(a$,a,1)="d" then
setrgb 1,256,256,0
line x-(15*s),y-(40*s) to x-(15*s),y
line x-(15*s),y-(40*s) to x+(7*s),y-(40*s)
line x-(15*s),y to x+(7*s),y
line x+(12*s),y-(35*s) to x+(12*s),y-(5*s)
line x+(7*s),y-(40*s) to x+(12*s),y-(35*s)
line x+(7*s),y to x+(12*s),y-(5*s)
endif
if mid$(a$,a,1)="e" then
setrgb 1,256,0,256
line x-(17*s),y to x-(17*s),y-(40*s)
line x-(17*s),y-(40*s) to x+(15*s),y-(40*s)
line x-(17*s),y to x+(15*s),y
line x-(17*s),y-(20*s) to x+(12*s),y-(20*s)
endif
if mid$(a$,a,1)="f" then
setrgb 1,0,256,256
line x-(17*s),y to x-(17*s),y-(40*s)
line x-(17*s),y-(40*s) to x+(17*s),y-(40*s)
line x-(17*s),y-(20*s) to x+(10*s),y-(20*s)
endif
if mid$(a$,a,1)="g" then
setrgb 1,256,128,0
line x-(17*s),y-(35*s) to x-(17*s),y-(5*s)
line x-(12*s),y-(40*s) to x+(12*s),y-(40*s)
line x-(12*s),y to x+(12*s),y
line x+(17*s),y-(5*s) to x+(17*s),y-(20*s)
line x+(17*s),y-(35*s) to x+(17*s),y-(30*s)
line x+(17*s),y-(20*s) to x+(7*s),y-(20*s)
line x-(17*s),y-(35*s) to x-(12*s),y-(40*s)
line x-(17*s),y-(5*s) to x-(12*s),y
line x+(12*s),y-(40*s) to x+(17*s),y-(35*s)
line x+(12*s),y to x+(17*s),y-(5*s)
endif
if mid$(a$,a,1)="h" then
setrgb 1,256,0,128
line x-(15*s),y to x-(15*s),y-(40*s)
line x+(15*s),y to x+(15*s),y-(40*s)
line x-(15*s),y-(20*s) to x+(15*s),y-(20*s)
endif
if mid$(a$,a,1)="i" then
setrgb 1,128,256,0
line x,y to x,y-(40*s)
line x-(10*s),y to x+(10*s),y
line x-(10*s),y-(40*s) to x+(10*s),y-(40*s)
endif
if mid$(a$,a,1)="j" then
setrgb 1,128,0,256
line x,y-(40*s) to x,y-(5*s)
line x-(10*s),y-(40*s) to x+(10*s),y-(40*s)
line x-(17*s),y-(5*s) to x-(12*s),y
line x,y-(5*s) to x-(5*s),y
line x-(5*s),y to x-(12*s),y
endif
if mid$(a$,a,1)="k" then
setrgb 1,0,128,256
line x-(15*s),y to x-(15*s),y-(40*s)
line x+(15*s),y-(40*s) to x-(15*s),y-(15*s)
line x+(15*s),y to x-(10*s),y-(18*s)
endif
if mid$(a$,a,1)="l" then
setrgb 1,64,64,64
line x-(15*s),y to x-(15*s),y-(40*s)
line x-(15*s),y to x+(10*s),y
endif
if mid$(a$,a,1)="m" then
setrgb 1,192,192,192
line x-(17*s),y to x-(17*s),y-(40*s)
line x+(17*s),y to x+(17*s),y-(40*s)
line x-(17*s),y-(40*s) to x,y
line x+(17*s),y-(40*s) to x,y
endif
if mid$(a$,a,1)="n" then
setrgb 1,128,128,128
line x-(15*s),y to x-(15*s),y-(40*s)
line x-(15*s),y-(40*s) to x+(15*s),y
line x+(15*s),y to x+(15*s),y-(40*s)
endif
if mid$(a$,a,1)="o" then
setrgb 1,192,64,192
line x-(15*s),y-(5*s) to x-(15*s),y-(35*s)
line x+(15*s),y-(5*s) to x+(15*s),y-(35*s)
line x-(10*s),y-(40*s) to x+(10*s),y-(40*s)
line x-(10*s),y to x+(10*s),y
line x-(15*s),y-(35*s) to x-(10*s),y-(40*s)
line x-(15*s),y-(5*s) to x-(10*s),y
line x+(15*s),y-(35*s) to x+(10*s),y-(40*s)
line x+(15*s),y-(5*s) to x+(10*s),y
endif
if mid$(a$,a,1)="p" then
setrgb 1,64,192,128
line x-(17*s),y to x-(17*s),y-(40*s)
line x-(17*s),y-(40*s) to x+(10*s),y-(40*s)
line x-(17*s),y-(15*s) to x+(10*s),y-(15*s)
line x+(15*s),y-(35*s) to x+(15*s),y-(20*s)
line x+(10*s),y-(40*s) to x+(15*s),y-(35*s)
line x+(10*s),y-(15*s) to x+(15*s),y-(20*s)
endif
if mid$(a$,a,1)="q" then
setrgb 1,0,64,128
line x-(15*s),y-(5*s) to x-(15*s),y-(35*s)
line x+(15*s),y-(5*s) to x+(15*s),y-(35*s)
line x-(10*s),y-(40*s) to x+(10*s),y-(40*s)
line x-(10*s),y to x+(10*s),y
line x-(15*s),y-(35*s) to x-(10*s),y-(40*s)
line x-(15*s),y-(5*s) to x-(10*s),y
line x+(15*s),y-(35*s) to x+(10*s),y-(40*s)
line x+(15*s),y-(5*s) to x+(10*s),y
line x+(15*s),y to x+(5*s),y-(10*s)
endif
if mid$(a$,a,1)="r" then
setrgb 1,192,128,64
line x-(17*s),y to x-(17*s),y-(40*s)
line x-(17*s),y-(40*s) to x+(10*s),y-(40*s)
line x-(17*s),y-(15*s) to x+(10*s),y-(15*s)
line x+(15*s),y-(35*s) to x+(15*s),y-(20*s)
line x+(10*s),y-(40*s) to x+(15*s),y-(35*s)
line x+(10*s),y-(15*s) to x+(15*s),y-(20*s)
line x+(17*s),y to x+(5*s),y-(15*s)
endif
if mid$(a$,a,1)="s" then
setrgb 1,256,64,192
line x-(12*s),y to x+(12*s),y
line x-(12*s),y-(20*s) to x+(12*s),y-(20*s)
line x-(12*s),y-(40*s) to x+(12*s),y-(40*s)
line x-(17*s),y-(25*s) to x-(17*s),y-(35*s)
line x+(17*s),y-(5*s) to x+(17*s),y-(15*s)
line x-(17*s),y-(35*s) to x-(12*s),y-(40*s)
line x-(17*s),y-(5*s) to x-(12*s),y
line x+(17*s),y-(35*s) to x+(12*s),y-(40*s)
line x+(17*s),y-(5*s) to x+(12*s),y
line x-(17*s),y-(25*s) to x-(12*s),y-(20*s)
line x+(17*s),y-(15*s) to x+(12*s),y-(20*s)
endif
if mid$(a$,a,1)="t" then
setrgb 1,128,64,128
line x,y to x,y-(40*s)
line x-(15*s),y-(40*s) to x+(15*s),y-(40*s)
endif
if mid$(a$,a,1)="u" then
setrgb 1,192,128,64
line x-(15*s),y-(40*s) to x-(15*s),y-(5*s)
line x-(15*s),y-(5*s) to x-(10*s),y
line x-(10*s),y to x+(10*s),y
line x+(10*s),y to x+(15*s),y-(5*s)
line x+(15*s),y-(5*s) to x+(15*s),y-(40*s)
endif
if mid$(a$,a,1)="v" then
setrgb 1,128,64,64
line x-(17*s),y-(40*s) to x,y
line x,y to x+(17*s),y-(40*s)
endif
if mid$(a$,a,1)="w" then
setrgb 1,256,192,64
line x-(20*s),y-(40*s) to x-(10*s),y
line x-(10*s),y to x,y-(40*s)
line x,y-(40*s) to x+(10*s),y
line x+(10*s),y to x+(20*s),y-(40*s)
endif
if mid$(a$,a,1)="x" then
setrgb 1,192,256,64
line x-(15*s),y-(40*s) to x+(15*s),y
line x-(15*s),y to x+(15*s),y-(40*s)
endif
if mid$(a$,a,1)="y" then
setrgb 1,128,256,64
line x-(15*s),y-(40*s) to x,y-(15*s)
line x+(15*s),y-(40*s) to x,y-(15*s)
line x,y-(15*s) to x,y
endif
if mid$(a$,a,1)="z" then
setrgb 1,192,64,256
line x-(15*s),y-(40*s) to x+(15*s),y-(40*s)
line x+(15*s),y-(40*s) to x-(15*s),y
line x-(15*s),y to x+(15*s),y
endif
x=x+(40*s)
if x>450 and mid$(a$,a,1)=" " then
y=y+(60*s)
x=20*s
endif
next a
until (1=0)
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

Offline Galileo

  • ZX 81
  • *
  • Posts: 22
  • Karma: 0
    • View Profile
Re: Basic San Serif Font
« Reply #4 on: August 18, 2016 »
Good job. I'm adapted your code to Yabasic 2.763 for Windows, and works fine. Thanks!