### Author Topic: TEXT SIZING  (Read 2520 times)

0 Members and 1 Guest are viewing this topic.

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### TEXT SIZING
« on: June 05, 2011 »

Here's something from my archives.

A simple attempt at changing the size of text.
The text sample is a short story.

Use the up/down d-pad to change the size.

Code: [Select]
`a\$="once upon a time there was a king and queen,"a\$=a\$+" and they lived happily ever after."s=1open window 640,512x=20*sy=60*srepeatsetdrawbuf vmvm=1-vmsetdispbuf vmclear windowc=peek("port1")if c=16 s=s+.01if c=64 s=s-.01x=20*sy=60*sfor a=1 to len(a\$)if  mid\$(a\$,a,1)="a" thenline x-(18*s),y to x,y-(40*s)line x,y-(40*s) to x+(18*s),yline x-(13*s),y-(11*s) to x+(13*s),y-(11*s)endifif mid\$(a\$,a,1)="b" thenline x-(17*s),y to x-(17*s),y-(40*s)line x-(17*s),y to x+(7*s),yline 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)endifif mid\$(a\$,a,1)="c" thenline x-(15*s),y-(5*s) to x-(15*s),y-(35*s)line x-(10*s),y to x+(10*s),yline 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),yline 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)endifif mid\$(a\$,a,1)="d" thenline x-(15*s),y-(40*s) to x-(15*s),yline x-(15*s),y-(40*s) to x+(7*s),y-(40*s)line x-(15*s),y to x+(7*s),yline 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)endifif mid\$(a\$,a,1)="e" thenline 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),yline x-(17*s),y-(20*s) to x+(12*s),y-(20*s)endifif mid\$(a\$,a,1)="f" thenline 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)endifif mid\$(a\$,a,1)="g" thenline 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),yline 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),yline 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)endifif mid\$(a\$,a,1)="h" thenline 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)endifif mid\$(a\$,a,1)="i" thenline x,y to x,y-(40*s)line x-(10*s),y to x+(10*s),yline x-(10*s),y-(40*s) to x+(10*s),y-(40*s)endifif mid\$(a\$,a,1)="j" thenline 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),yline x,y-(5*s) to x-(5*s),yline x-(5*s),y to x-(12*s),yendifif mid\$(a\$,a,1)="k" thenline 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)endifif mid\$(a\$,a,1)="l" thenline x-(15*s),y to x-(15*s),y-(40*s)line x-(15*s),y to x+(10*s),yendifif mid\$(a\$,a,1)="m" thenline 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,yline x+(17*s),y-(40*s) to x,yendifif mid\$(a\$,a,1)="n" thenline x-(15*s),y to x-(15*s),y-(40*s)line x-(15*s),y-(40*s) to x+(15*s),yline x+(15*s),y to x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="o" thenline 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),yline x-(15*s),y-(35*s) to x-(10*s),y-(40*s)line x-(15*s),y-(5*s) to x-(10*s),yline x+(15*s),y-(35*s) to x+(10*s),y-(40*s)line x+(15*s),y-(5*s) to x+(10*s),yendifif mid\$(a\$,a,1)="p" thenline 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)endifif mid\$(a\$,a,1)="q" thenline 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),yline x-(15*s),y-(35*s) to x-(10*s),y-(40*s)line x-(15*s),y-(5*s) to x-(10*s),yline x+(15*s),y-(35*s) to x+(10*s),y-(40*s)line x+(15*s),y-(5*s) to x+(10*s),yline x+(15*s),y to x+(5*s),y-(10*s)endifif mid\$(a\$,a,1)="r" thenline 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)endifif mid\$(a\$,a,1)="s" thenline x-(12*s),y to x+(12*s),yline 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),yline x+(17*s),y-(35*s) to x+(12*s),y-(40*s)line x+(17*s),y-(5*s) to x+(12*s),yline 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)endifif mid\$(a\$,a,1)="t" thenline x,y to x,y-(40*s)line x-(15*s),y-(40*s) to x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="u" thenline x-(15*s),y-(40*s) to x-(15*s),y-(5*s)line x-(15*s),y-(5*s) to x-(10*s),yline x-(10*s),y to x+(10*s),yline 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)endifif mid\$(a\$,a,1)="v" thenline x-(17*s),y-(40*s) to x,yline x,y to x+(17*s),y-(40*s)endifif mid\$(a\$,a,1)="w" thenline x-(20*s),y-(40*s) to x-(10*s),yline x-(10*s),y to x,y-(40*s)line x,y-(40*s) to x+(10*s),yline x+(10*s),y to x+(20*s),y-(40*s)endifif mid\$(a\$,a,1)="x" thenline x-(15*s),y-(40*s) to x+(15*s),yline x-(15*s),y to x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="y" thenline 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,yendifif mid\$(a\$,a,1)="z" thenline x-(15*s),y-(40*s) to x+(15*s),y-(40*s)line x+(15*s),y-(40*s) to x-(15*s),yline x-(15*s),y to x+(15*s),yendifif mid\$(a\$,a,1)="." fill circle x-(10*s),y,(2*s)if mid\$(a\$,a,1)="," fill triangle x-(10*s),y-(2*s) to x-(7*s),y-(2*s) to x-11,y+(4*s)x=x+(40*s)if x>500 and mid\$(a\$,a,1)=" " theny=y+(60*s)x=20*sendifnext auntil (1=0)`
Unchanged since I did it.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### rain_storm

• Here comes the Rain
• Posts: 3075
• Karma: 182
• Rain never hurt nobody
##### Re: TEXT SIZING
« Reply #1 on: June 05, 2011 »
Lovely vector font. bikemadness. But all those if statements makes it more difficult than it needs to be if you want to reuse this wonderful code in other projects. I think a table driven approach, with predefined subroutines for loading and displaying characters, would suit this much better. It means less code to type for ever project that reuses this font, and it makes it much easier to update when you need to add in things like grammer, or extend the font to include the entire ascii character set:

Code: [Select]
`a\$="once upon a time there was a king and queen,"a\$=a\$+" and they lived happily ever after."LoadFont()s = 1open window 640,512repeat    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\$)        PrintCharacter(mid\$(a\$,a,1), x, y)        x=x+(CharacterWidth*s)        if x>500 and mid\$(a\$,a,1)=" " then            y=y+(CharacterHeight*s)            x=CharacterWidth*s        endif    next auntil (1=0)// ==================// Binary Data Format// ==================//// data NumCharacters// data CharacterWidth// data CharacterHeight// for (NumCharacters) {//     data ascii, NumLines//     for (NumLines) {//          data x1, y1, x2, y2//     }// }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(lower\$(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 chend subsub PrintCharacter(char\$, x, y)    ch = asc(mid\$(char\$,1,1))    for i=Start(ch) to Start(ch)+Count(ch)-1        line x+x1(i), y+y1(i) to x+x2(i), y+y2(i)    next iend sub// ==================// Binary Data Format// ==================//// data NumCharacters// data CharacterWidth// data CharacterHeight// for (NumCharacters) {//     data ascii, NumLines//     for (NumLines) {//          data x1, y1, x2, y2//     }// }data 26 // NumCharactersdata 40 // CharacterWidthdata 60 // CharacterHeightdata "a", 3data -18, 00, 00,-40data  00,-40, 18, 00data -13,-11, 13,-11data "b", 10data -17, 00, -17,-40data -17, 00,  07, 00data -17,-20,  07,-20data -17,-40,  07,-40data  12,-35,  12,-25data  12,-15,  12,-05data  07,-40,  12,-35data  07,-20,  12,-25data  07,-20,  12,-15data  07, 00,  12,-05data "c", 7data -15,-05, -15,-35data -10, 00,  10, 00data -10,-40,  10,-40data -15,-35, -10,-40data -15,-05, -10, 00data  10,-40,  15,-35data  10, 00,  15,-05data "d", 6data -15,-40, -15, 00data -15,-40,  07,-40data -15, 00,  07, 00data  12,-35,  12,-05data  07,-40,  12,-35data  07, 00,  12,-05data "e", 4data -17, 00, -17,-40data -17,-40,  15,-40data -17, 00,  15, 00data -17,-20,  12,-20data "f", 3data -17, 00, -17,-40data -17,-40,  17,-40data -17,-20,  10,-20data "g", 10data -17,-35, -17,-05data -12,-40,  12,-40data -12, 00,  12, 00data  17,-05,  17,-20data  17,-35,  17,-30data  17,-20,  07,-20data -17,-35, -12,-40data -17,-05, -12, 00data  12,-40,  17,-35data  12, 00,  17,-05data "h", 3data -15, 00, -15,-40data  15, 00,  15,-40data -15,-20,  15,-20data "i", 3data  00, 00,  00,-40data -10, 00,  10, 00data -10,-40,  10,-40data "j", 5data  00,-40,  00,-05data -10,-40,  10,-40data -17,-05, -12, 00data  00,-05, -05, 00data -05, 00, -12, 00data "k", 3data -15, 00, -15,-40data  15,-40, -15,-15data  15, 00, -10,-18data "l", 2data -15, 00, -15,-40data -15, 00,  10, 00data "m", 4data -17, 00, -17,-40data  17, 00,  17,-40data -17,-40,  00, 00data  17,-40,  00, 00data "n", 3data -15, 00, -15,-40data -15,-40,  15, 00data  15, 00,  15,-40data "o", 8data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data "p", 6data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data "q", 9data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data  15, 00,  05,-10data "r", 7data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data  17, 00,  05,-15data "s", 11data -12, 00,  12, 00data -12,-20,  12,-20data -12,-40,  12,-40data -17,-25, -17,-35data  17,-05,  17,-15data -17,-35, -12,-40data -17,-05, -12, 00data  17,-35,  12,-40data  17,-05,  12, 00data -17,-25, -12,-20data  17,-15,  12,-20data "t", 2data  00, 00,  00,-40data -15,-40,  15,-40data "u", 5data -15,-40, -15,-05data -15,-05, -10, 00data -10, 00,  10, 00data  10, 00,  15,-05data  15,-05,  15,-40data "v", 2data -17,-40,  00, 00data  00, 00,  17,-40data "w", 4data -20,-40, -10, 00data -10, 00,  00,-40data  00,-40,  10, 00data  10, 00,  20,-40data "x", 2 data -15,-40,  15, 00data -15, 00,  15,-40data "y", 3data -15,-40, 00,-15data  15,-40, 00,-15data  00,-15, 00, 00data "z", 3data -15,-40,  15,-40data  15,-40, -15, 00data -15, 00,  15, 00`[/font]

Challenge Trophies Won:

#### combatking0

• JavaScript lives!
• Senior Member
• Posts: 4195
• Karma: 183
• Retroman!
##### Re: TEXT SIZING
« Reply #2 on: June 05, 2011 »
This is similar to how I made the line font in Twisted.

PS2 Yabasic lacked a resizable font, so this is a good development.
You are our 9001st visitor.
Challenge Trophies Won:

#### Shockwave

• good/evil
• Founder Member
• Posts: 17297
• Karma: 489
• evil/good
##### Re: TEXT SIZING
« Reply #3 on: June 05, 2011 »
I agree with Rain Storm and CK.

The font is really excellent, I think you should do something more interesting with it than just have it display text as some kind of user test - How about using it in a proper effect like a vector scroll or even a zooming text typer I have never seen one of those done in PS2 Yabasic and it would be a cool effect!

Shame you only posted this now as it could have been expanded into an entry for the Wireframe comp where I think it would have done quite well if used with the right effect.
Shockwave ^ Codigos
Challenge Trophies Won:

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #4 on: June 05, 2011 »

I never did pursue it, back then, because I couldn't.
What could be done with the code was mind-blowing.
Even now.

but I did manage to scroll it.

Code: [Select]
`a\$="to the people at dbf interactive, thanks and more thanks for their tenacity"s=1open window 640,512x=20*sy=60*s+200repeatsetdrawbuf vmvm=1-vmsetdispbuf vmclear windowc=peek("port1")if c=16 s=s+.01if c=64 s=s-.01x=20*sfor a=1 to len(a\$)if  mid\$(a\$,a,1)="a" thenline m+x-(18*s),y to m+x,y-(40*s)line m+x,y-(40*s) to m+x+(18*s),yline m+x-(13*s),y-(11*s) to m+x+(13*s),y-(11*s)endifif mid\$(a\$,a,1)="b" thenline m+x-(17*s),y to m+x-(17*s),y-(40*s)line m+x-(17*s),y to m+x+(7*s),yline m+x-(17*s),y-(20*s) to m+x+(7*s),y-(20*s)line m+x-(17*s),y-(40*s) to m+x+(7*s),y-(40*s)line m+x+(12*s),y-(35*s) to m+x+(12*s),y-(25*s)line m+x+(12*s),y-(15*s) to m+x+(12*s),y-(5*s)line m+x+(7*s),y-(40*s) to m+x+(12*s),y-(35*s)line m+x+(7*s),y-(20*s) to m+x+(12*s),y-(25*s)line m+x+(7*s),y-(20*s) to m+x+(12*s),y-(15*s)line m+x+(7*s),y to m+x+(12*s),y-(5*s)endifif mid\$(a\$,a,1)="c" thenline m+x-(15*s),y-(5*s) to m+x-(15*s),y-(35*s)line m+x-(10*s),y to m+x+(10*s),yline m+x-(10*s),y-(40*s) to m+x+(10*s),y-(40*s)line m+x-(15*s),y-(35*s) to m+x-(10*s),y-(40*s)line m+x-(15*s),y-(5*s) to m+x-(10*s),yline m+x+(10*s),y-(40*s) to m+x+(15*s),y-(35*s)line m+x+(10*s),y to m+x+(15*s),y-(5*s)endifif mid\$(a\$,a,1)="d" thenline m+x-(15*s),y-(40*s) to m+x-(15*s),yline m+x-(15*s),y-(40*s) to m+x+(7*s),y-(40*s)line m+x-(15*s),y to m+x+(7*s),yline m+x+(12*s),y-(35*s) to m+x+(12*s),y-(5*s)line m+x+(7*s),y-(40*s) to m+x+(12*s),y-(35*s)line m+x+(7*s),y to m+x+(12*s),y-(5*s)endifif mid\$(a\$,a,1)="e" thenline m+x-(17*s),y to m+x-(17*s),y-(40*s)line m+x-(17*s),y-(40*s) to m+x+(15*s),y-(40*s)line m+x-(17*s),y to m+x+(15*s),yline m+x-(17*s),y-(20*s) to m+x+(12*s),y-(20*s)endifif mid\$(a\$,a,1)="f" thenline m+x-(17*s),y to m+x-(17*s),y-(40*s)line m+x-(17*s),y-(40*s) to m+x+(17*s),y-(40*s)line m+x-(17*s),y-(20*s) to m+x+(10*s),y-(20*s)endifif mid\$(a\$,a,1)="g" thenline m+x-(17*s),y-(35*s) to m+x-(17*s),y-(5*s)line m+x-(12*s),y-(40*s) to m+x+(12*s),y-(40*s)line m+x-(12*s),y to m+x+(12*s),yline m+x+(17*s),y-(5*s) to m+x+(17*s),y-(20*s)line m+x+(17*s),y-(35*s) to m+x+(17*s),y-(30*s)line m+x+(17*s),y-(20*s) to m+x+(7*s),y-(20*s)line m+x-(17*s),y-(35*s) to m+x-(12*s),y-(40*s)line m+x-(17*s),y-(5*s) to m+x-(12*s),yline m+x+(12*s),y-(40*s) to m+x+(17*s),y-(35*s)line m+x+(12*s),y to m+x+(17*s),y-(5*s)endifif mid\$(a\$,a,1)="h" thenline m+x-(15*s),y to m+x-(15*s),y-(40*s)line m+x+(15*s),y to m+x+(15*s),y-(40*s)line m+x-(15*s),y-(20*s) to m+x+(15*s),y-(20*s)endifif mid\$(a\$,a,1)="i" thenline m+x,y to m+x,y-(40*s)line m+x-(10*s),y to m+x+(10*s),yline m+x-(10*s),y-(40*s) to m+x+(10*s),y-(40*s)endifif mid\$(a\$,a,1)="j" thenline m+x,y-(40*s) to m+x,y-(5*s)line m+x-(10*s),y-(40*s) to m+x+(10*s),y-(40*s)line m+x-(17*s),y-(5*s) to m+x-(12*s),yline m+x,y-(5*s) to m+x-(5*s),yline m+x-(5*s),y to m+x-(12*s),yendifif mid\$(a\$,a,1)="k" thenline m+x-(15*s),y to m+x-(15*s),y-(40*s)line m+x+(15*s),y-(40*s) to m+x-(15*s),y-(15*s)line m+x+(15*s),y to m+x-(10*s),y-(18*s)endifif mid\$(a\$,a,1)="l" thenline m+x-(15*s),y to m+x-(15*s),y-(40*s)line m+x-(15*s),y to m+x+(10*s),yendifif mid\$(a\$,a,1)="m" thenline m+x-(17*s),y to m+x-(17*s),y-(40*s)line m+x+(17*s),y to m+x+(17*s),y-(40*s)line m+x-(17*s),y-(40*s) to m+x,yline m+x+(17*s),y-(40*s) to m+x,yendifif mid\$(a\$,a,1)="n" thenline m+x-(15*s),y to m+x-(15*s),y-(40*s)line m+x-(15*s),y-(40*s) to m+x+(15*s),yline m+x+(15*s),y to m+x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="o" thenline m+x-(15*s),y-(5*s) to m+x-(15*s),y-(35*s)line m+x+(15*s),y-(5*s) to m+x+(15*s),y-(35*s)line m+x-(10*s),y-(40*s) to m+x+(10*s),y-(40*s)line m+x-(10*s),y to m+x+(10*s),yline m+x-(15*s),y-(35*s) to m+x-(10*s),y-(40*s)line m+x-(15*s),y-(5*s) to m+x-(10*s),yline m+x+(15*s),y-(35*s) to m+x+(10*s),y-(40*s)line m+x+(15*s),y-(5*s) to m+x+(10*s),yendifif mid\$(a\$,a,1)="p" thenline m+x-(17*s),y to m+x-(17*s),y-(40*s)line m+x-(17*s),y-(40*s) to m+x+(10*s),y-(40*s)line m+x-(17*s),y-(15*s) to m+x+(10*s),y-(15*s)line m+x+(15*s),y-(35*s) to m+x+(15*s),y-(20*s)line m+x+(10*s),y-(40*s) to m+x+(15*s),y-(35*s)line m+x+(10*s),y-(15*s) to m+x+(15*s),y-(20*s)endifif mid\$(a\$,a,1)="q" thenline m+x-(15*s),y-(5*s) to m+x-(15*s),y-(35*s)line m+x+(15*s),y-(5*s) to m+x+(15*s),y-(35*s)line m+x-(10*s),y-(40*s) to m+x+(10*s),y-(40*s)line m+x-(10*s),y to m+x+(10*s),yline m+x-(15*s),y-(35*s) to m+x-(10*s),y-(40*s)line m+x-(15*s),y-(5*s) to m+x-(10*s),yline m+x+(15*s),y-(35*s) to m+x+(10*s),y-(40*s)line m+x+(15*s),y-(5*s) to m+x+(10*s),yline m+x+(15*s),y to m+x+(5*s),y-(10*s)endifif mid\$(a\$,a,1)="r" thenline m+x-(17*s),y to m+x-(17*s),y-(40*s)line m+x-(17*s),y-(40*s) to m+x+(10*s),y-(40*s)line m+x-(17*s),y-(15*s) to m+x+(10*s),y-(15*s)line m+x+(15*s),y-(35*s) to m+x+(15*s),y-(20*s)line m+x+(10*s),y-(40*s) to m+x+(15*s),y-(35*s)line m+x+(10*s),y-(15*s) to m+x+(15*s),y-(20*s)line m+x+(17*s),y to m+x+(5*s),y-(15*s)endifif mid\$(a\$,a,1)="s" thenline m+x-(12*s),y to m+x+(12*s),yline m+x-(12*s),y-(20*s) to m+x+(12*s),y-(20*s)line m+x-(12*s),y-(40*s) to m+x+(12*s),y-(40*s)line m+x-(17*s),y-(25*s) to m+x-(17*s),y-(35*s)line m+x+(17*s),y-(5*s) to m+x+(17*s),y-(15*s)line m+x-(17*s),y-(35*s) to m+x-(12*s),y-(40*s)line m+x-(17*s),y-(5*s) to m+x-(12*s),yline m+x+(17*s),y-(35*s) to m+x+(12*s),y-(40*s)line m+x+(17*s),y-(5*s) to m+x+(12*s),yline m+x-(17*s),y-(25*s) to m+x-(12*s),y-(20*s)line m+x+(17*s),y-(15*s) to m+x+(12*s),y-(20*s)endifif mid\$(a\$,a,1)="t" thenline m+x,y to m+x,y-(40*s)line m+x-(15*s),y-(40*s) to m+x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="u" thenline m+x-(15*s),y-(40*s) to m+x-(15*s),y-(5*s)line m+x-(15*s),y-(5*s) to m+x-(10*s),yline m+x-(10*s),y to m+x+(10*s),yline m+x+(10*s),y to m+x+(15*s),y-(5*s)line m+x+(15*s),y-(5*s) to m+x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="v" thenline m+x-(17*s),y-(40*s) to m+x,yline m+x,y to m+x+(17*s),y-(40*s)endifif mid\$(a\$,a,1)="w" thenline m+x-(20*s),y-(40*s) to m+x-(10*s),yline m+x-(10*s),y to m+x,y-(40*s)line m+x,y-(40*s) to m+x+(10*s),yline m+x+(10*s),y to m+x+(20*s),y-(40*s)endifif mid\$(a\$,a,1)="m+x" thenline m+x-(15*s),y-(40*s) to m+x+(15*s),yline m+x-(15*s),y to m+x+(15*s),y-(40*s)endifif mid\$(a\$,a,1)="y" thenline m+x-(15*s),y-(40*s) to m+x,y-(15*s)line m+x+(15*s),y-(40*s) to m+x,y-(15*s)line m+x,y-(15*s) to m+x,yendifif mid\$(a\$,a,1)="z" thenline m+x-(15*s),y-(40*s) to m+x+(15*s),y-(40*s)line m+x+(15*s),y-(40*s) to m+x-(15*s),yline m+x-(15*s),y to m+x+(15*s),yendifif mid\$(a\$,a,1)="." fill circle m+x-(10*s),y,(2*s)if mid\$(a\$,a,1)="," fill triangle m+x-(10*s),y-(2*s) to m+x-(7*s),y-(2*s) to m+x-(11*s),y+(4*s)x=x+(40*s)next am=m-2if m<-(len(a\$)*40*s) m=640until (1=0)`
hanging in there.

Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### Shockwave

• good/evil
• Founder Member
• Posts: 17297
• Karma: 489
• evil/good
##### Re: TEXT SIZING
« Reply #5 on: June 06, 2011 »
That looks cooler!

You're drawing the whole string every frame though, even the letters that are off screen there's also no reason not to adopt the data based approach that Rainstorm showed you, it's neater and much more flexible and would mean that you can use this cool font in other effects more easily (if you wanted to apply a rotation etc).

Anyway, looks good
Shockwave ^ Codigos
Challenge Trophies Won:

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #6 on: June 06, 2011 »
Oh my god!

There was a lot more than what could be seen here in rain_storms data version.

I never tried to paste it.

I'd be years to understand how the data is retrieved.

It LOOKS a lot harder than the very simple stuff I've tried.

Thanks rain_storm. I'll see if I can add the scroll.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #7 on: June 06, 2011 »
Whew! I got the data version to scroll and realized the font sizing wasn't working.

I worked out where and how to fit the multiplier [*s] - I think I understand why the coding is correct.

before - line x+x1(i), y+y1(i) to x+x2(i), y+y2(i)

after - line m+x+x1(i)*s, y+y1(i)*s to m+x+x2(i)*s, y+y2(i)*s

rain_storm, you also shortened my letter scrambler. should have seen my first draft. Thanks again.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### rain_storm

• Here comes the Rain
• Posts: 3075
• Karma: 182
• Rain never hurt nobody
##### Re: TEXT SIZING
« Reply #8 on: June 06, 2011 »
oops sorry I missed the part where the scale is applied to the letters.

At first you had the data embedded inside the code, this is called hard coding and is considered bad practise. Now the data and code have been separated. The data is organised into structures and you can view each letter on its own without having to read through lines of code. You don't have all that code clouding things up. You can make changes directly to the data without touching any of the code that processes your data.

In fact the code that processes the data can now be considered a black box. You can just assume that the code will always process valid input correctly. You dont need to know how the gears within this black box operate. But your fix has introduced dependancy between the code issuing the call and the code within the black box, This is not good. What you want is a black box that operates in "Fire and Forget" mode. You should feed the black box everything that it needs to know, and no more. Also the code outside of the black box should not have access to intimate knowledge about how that black box works. Like "open window" its a black box that works. no one (except Jim) knows how it does its magic, but we're all greatful that it does it the same way, every time.

Code: [Select]
`before - line x+x1(i), y+y1(i) to x+x2(i), y+y2(i)after - line m+x+x1(i)*s, y+y1(i)*s to m+x+x2(i)*s, y+y2(i)*s`
m and s are defined by your implentation. s is absolutely required. the function cannot draw the text properly if it doesn't know how big it should be so you need to make s an input to the subroutine...

Code: [Select]
`sub PrintCharacter(char\$, x, y, s)    ch = asc(mid\$(char\$,1,1))    for i=Start(ch) to Start(ch)+Count(ch)-1        line x+x1(i)*s, y+y1(i)*s to x+x2(i)*s, y+y2(i)*s    next iend sub`
Now you dont have to worry about moddifying s in you code. It wont break the function because the function now has its own copy of s.

m on the other hand is implementation specific, not all of the code that uses this function will need it to scroll, So m belongs in the code that calls the function:

Code: [Select]
`PrintCharacter(mid\$(a\$,a,1), x+m, y, s)`
The thing I'm trying to point out is that you should always make your code modular. Take the big problem apart by subdiving it into ever smaller pieces. If you solve all the small pieces, the big problem has also been solved. But for this too work you must keep each piece self contained. A small change should effect only the piece of the puzzle you are changing, it should have no effect on any of the other pieces.

The human mind (especially men) is not good at multi tasking. But when we see what needs to be done we can do anything. Dont have the information that you need to know spinkled throughout the code have it all together in one place, right next to where its being used if possible. Make it easier for yourself.

Challenge Trophies Won:

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #9 on: June 09, 2011 »
Here's my full alphabet font, upper and lower case.

the height can be stretched separately. (h)

Code: [Select]
`a\$="abcdefghijklmnopqrstuvwxyz?A"LoadFont()s=1h=2m=640open window 640,512x=40*sy=60*s+200repeat    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    for a=1 to len(a\$)    PrintCharacter(mid\$(a\$,a,1), x+m, y,s)    x=x+(CharacterWidth*s)'x=x+(40*s)    next a    m=m-2if m<-(len(a\$)*40*s) m=640until (1=0)// ==================// Binary Data Format// ==================//// data NumCharacters// data CharacterWidth// data CharacterHeight// for (NumCharacters) {//     data ascii, NumLines//     for (NumLines) {//          data x1, y1, x2, y2//     }// }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 chend subsub PrintCharacter(char\$, x, y, s)    ch = asc(mid\$(char\$,1,1))    for i=Start(ch) to Start(ch)+Count(ch)-1        line x+x1(i)*s, y+y1(i)*s*h to x+x2(i)*s, y+y2(i)*s*h    next iend sub// ==================// Binary Data Format// ==================//// data NumCharacters// data CharacterWidth// data CharacterHeight// for (NumCharacters) {//     data ascii, NumLines//     for (NumLines) {//          data x1, y1, x2, y2//     }// }data 66// NumCharactersdata 40 // CharacterWidthdata 60 // CharacterHeightdata "A", 3data -18, 00, 00,-40data  00,-40, 18, 00data -13,-11, 13,-11data "B", 10data -17, 00, -17,-40data -17, 00,  07, 00data -17,-20,  07,-20data -17,-40,  07,-40data  12,-35,  12,-25data  12,-15,  12,-05data  07,-40,  12,-35data  07,-20,  12,-25data  07,-20,  12,-15data  07, 00,  12,-05data "C", 7data -15,-05, -15,-35data -10, 00,  10, 00data -10,-40,  10,-40data -15,-35, -10,-40data -15,-05, -10, 00data  10,-40,  15,-35data  10, 00,  15,-05data "D", 6data -15,-40, -15, 00data -15,-40,  07,-40data -15, 00,  07, 00data  12,-35,  12,-05data  07,-40,  12,-35data  07, 00,  12,-05data "E", 4data -17, 00, -17,-40data -17,-40,  15,-40data -17, 00,  15, 00data -17,-20,  12,-20data "F", 3data -17, 00, -17,-40data -17,-40,  17,-40data -17,-20,  10,-20data "G", 10data -17,-35, -17,-05data -12,-40,  12,-40data -12, 00,  12, 00data  17,-05,  17,-20data  17,-35,  17,-30data  17,-20,  07,-20data -17,-35, -12,-40data -17,-05, -12, 00data  12,-40,  17,-35data  12, 00,  17,-05data "H", 3data -15, 00, -15,-40data  15, 00,  15,-40data -15,-20,  15,-20data "I", 3data  00, 00,  00,-40data -10, 00,  10, 00data -10,-40,  10,-40data "J", 5data  00,-40,  00,-05data -10,-40,  10,-40data -17,-05, -12, 00data  00,-05, -05, 00data -05, 00, -12, 00data "K", 3data -15, 00, -15,-40data  15,-40, -15,-15data  15, 00, -10,-18data "L", 2data -15, 00, -15,-40data -15, 00,  10, 00data "M", 4data -17, 00, -17,-40data  17, 00,  17,-40data -17,-40,  00, 00data  17,-40,  00, 00data "N", 3data -15, 00, -15,-40data -15,-40,  15, 00data  15, 00,  15,-40data "O", 8data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data "P", 6data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data "Q", 9data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data  15, 00,  05,-10data "R", 7data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data  17, 00,  05,-15data "S", 11data -12, 00,  12, 00data -12,-20,  12,-20data -12,-40,  12,-40data -17,-25, -17,-35data  17,-05,  17,-15data -17,-35, -12,-40data -17,-05, -12, 00data  17,-35,  12,-40data  17,-05,  12, 00data -17,-25, -12,-20data  17,-15,  12,-20data "T", 2data  00, 00,  00,-40data -15,-40,  15,-40data "U", 5data -15,-40, -15,-05data -15,-05, -10, 00data -10, 00,  10, 00data  10, 00,  15,-05data  15,-05,  15,-40data "V", 2data -17,-40,  00, 00data  00, 00,  17,-40data "W", 4data -20,-40, -10, 00data -10, 00,  00,-40data  00,-40,  10, 00data  10, 00,  20,-40data "X", 2 data -15,-40,  15, 00data -15, 00,  15,-40data "Y", 3data -15,-40, 00,-15data  15,-40, 00,-15data  00,-15, 00, 00data "Z", 3data -15,-40,  15,-40data  15,-40, -15, 00data -15, 00,  15, 00data "?", 12data -07,-40, 07,-40data -07,-40,-12,-35data  07,-40, 12,-35data  12,-35, 12,-25data  12,-25, 07,-20data  07,-20, 05,-20data  05,-20, 00,-15data  00,-15, 00,-07data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data ".", 4data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data "!", 5data  00,-07, 00,-40data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data "-", 1data -07,-20, 07,-20data "'", 6data -01,-40, 01,-38data -01,-38, 01,-40data  00,-38, 00,-38data -01,-39, 01,-39data -01,-38,-02,-35data -02,-35, 01,-38data ",", 6data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00, 00data -01,-01, 01,-01data -01, 00,-02, 03data -02, 03, 01, 00data "1", 3data  00, 00, 00,-40data  00,-40,-05,-35data -05, 00, 05, 00data "2", 9data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-22data  15,-22, 10,-17data  10,-17,-10,-17data -10,-17,-15,-12data -15,-12,-15, 00data -15, 00, 15, 00data  "3",11data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-25data  15,-25, 10,-20data  10,-20, 15,-15data  15,-15, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data  00,-20, 10,-20data  "4", 4data  07, 00, 07,-40data  07,-40,-15,-15data -15,-15,-15,-10data -15,-10, 17,-10data "5", 8data  15,-40,-15,-40data -15,-40,-15,-22data -15,-22, 10,-22data  10,-22, 15,-17data  15,-17, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "6",11data  15,-35, 10,-40data  10,-40,-10,-40data -10,-40,-15,-35data -15,-35,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-05, 15,-17data  15,-17, 10,-22data  10,-22,-10,-22data -10,-22,-15,-15data "7", 2data -15,-40, 15,-40data  15,-40,-02, 00data "8",15data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-25data  15,-25, 10,-20data  10,-20, 15,-15data  15,-15, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-15data -15,-15,-10,-20data -10,-20,-15,-25data -15,-25,-15,-35data -10,-20, 10,-20data "9",11data  15,-22,10,-17data  10,-17,-10,-17data -10,-17,-15,-22data -15,-22,-15,-35data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "0", 9data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-35data -10,-40, 10, 00data "a",12data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 20, 00data  15,-12, 10,-17data  10,-17,-10,-17data -10,-17,-15,-12data -15,-12,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "b", 10data -10,-40,-15,-35data -15,-35,-15,-05data -15,-05,-20, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "c", 7data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "d",10data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 20, 00data "e", 9data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-20data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-12data  15,-12,-15,-12data "f", 5data  15,-35, 10,-40data  10,-40, 00,-40data  00,-40,-05,-35data -05,-35,-05, 00data -15,-20, 05,-20data "g",11data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-20, 15, 10data  15, 10, 10, 15data  10, 15,-10, 15data -10, 15,-15, 10data "h", 6data -10,-40,-15,-35data -15,-35,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "i", 5data  00, 00, 00,-25data -01,-32, 01,-30data -01,-30, 01,-32data  00,-30, 00,-32data -01,-31, 01,-31data "j", 9data  00, 00, 00,-25data  00,-25, 00, 10data  00, 10,-05, 15data -05, 15,-10, 15data -10, 15,-15, 10data -01,-32, 01,-30data -01,-30, 01,-32data  00,-30, 00,-32data -01,-31, 01,-31data "k", 4data -10,-40,-15,-35data -15,-35,-15, 00data  10,-25,-15,-10data  10, 00,-08,-14data "l", 2data  00,-40,-05,-35data -05,-35,-05, 00data "m", 9data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25,-05,-25data -05,-25, 00,-20data  00,-20, 00, 00data  00,-20, 05,-25data  05,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "n",5data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "o", 8data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-05, 15,-20data "p", 8data -15,-25,-15, 20data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "q", 8data  15,-25, 15, 20data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "r", 4data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data "s",11data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-18data -15,-18,-10,-13data -10,-13, 10,-13data  10,-13, 15,-10data  15,-10, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "t", 3data -05,-40,-05,-05data -05,-05, 00, 00data -10,-25, 05,-25data "u", 5data -15,-25,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15, 00, 15,-25data "v", 2data -13,-25, 00, 00data  00, 00, 13,-25data "w", 4data -15,-25,-08, 00data -08, 00, 00,-25data  00,-25, 08, 00data  08, 00, 15,-25data "x", 2data -10,-25, 10, 00data -10, 00, 10,-25data "y", 8data -15,-25,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-25, 15, 10data  15, 10, 10, 15data  10, 15,-10, 15data -10, 15,-15, 10data "z", 3data -13,-25, 13,-25data  13,-25,-13, 00data -13, 00, 13, 00`
The font will do for now. I'll do something with it later.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #10 on: June 10, 2011 »
With a couple more lines and a little alteration, I now have Italics.

Code: [Select]
`a\$="THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG"a\$=a\$+" the quick brown fox jumps over the lazy dog  "LoadFont()s=1h=2w=0.4m=640open window 640,512x=40*sy=60*s+200repeat    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=20*s    for a=1 to len(a\$)    PrintCharacter(mid\$(a\$,a,1), x+m, y,s)    x=x+(CharacterWidth*s)    next a    m=m-2if m<-(len(a\$)*40*s) m=640until (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 chend subsub 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        line x+x1(i)*s-z, y+y1(i)*s*h to x+x2(i)*s-z1, y+y2(i)*s*h '        line x+x1(i)*s, y+y1(i)*s*h to x+x2(i)*s, y+y2(i)*s*h    next iend subdata 68// NumCharactersdata 40 // CharacterWidthdata 60 // CharacterHeightdata "A", 3data -18, 00, 00,-40data  00,-40, 18, 00data -13,-11, 13,-11data "B", 10data -17, 00, -17,-40data -17, 00,  07, 00data -17,-20,  07,-20data -17,-40,  07,-40data  12,-35,  12,-25data  12,-15,  12,-05data  07,-40,  12,-35data  07,-20,  12,-25data  07,-20,  12,-15data  07, 00,  12,-05data "C", 7data -15,-05, -15,-35data -10, 00,  10, 00data -10,-40,  10,-40data -15,-35, -10,-40data -15,-05, -10, 00data  10,-40,  15,-35data  10, 00,  15,-05data "D", 6data -15,-40, -15, 00data -15,-40,  07,-40data -15, 00,  07, 00data  12,-35,  12,-05data  07,-40,  12,-35data  07, 00,  12,-05data "E", 4data -17, 00, -17,-40data -17,-40,  15,-40data -17, 00,  15, 00data -17,-20,  12,-20data "F", 3data -17, 00, -17,-40data -17,-40,  17,-40data -17,-20,  10,-20data "G", 10data -17,-35, -17,-05data -12,-40,  12,-40data -12, 00,  12, 00data  17,-05,  17,-20data  17,-35,  17,-30data  17,-20,  07,-20data -17,-35, -12,-40data -17,-05, -12, 00data  12,-40,  17,-35data  12, 00,  17,-05data "H", 3data -15, 00, -15,-40data  15, 00,  15,-40data -15,-20,  15,-20data "I", 3data  00, 00,  00,-40data -10, 00,  10, 00data -10,-40,  10,-40data "J", 5data  00,-40,  00,-05data -10,-40,  10,-40data -17,-05, -12, 00data  00,-05, -05, 00data -05, 00, -12, 00data "K", 3data -15, 00, -15,-40data  15,-40, -15,-15data  15, 00, -10,-18data "L", 2data -15, 00, -15,-40data -15, 00,  10, 00data "M", 4data -17, 00, -17,-40data  17, 00,  17,-40data -17,-40,  00, 00data  17,-40,  00, 00data "N", 3data -15, 00, -15,-40data -15,-40,  15, 00data  15, 00,  15,-40data "O", 8data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data "P", 6data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data "Q", 9data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data  15, 00,  05,-10data "R", 7data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data  17, 00,  05,-15data "S", 11data -12, 00,  12, 00data -12,-20,  12,-20data -12,-40,  12,-40data -17,-25, -17,-35data  17,-05,  17,-15data -17,-35, -12,-40data -17,-05, -12, 00data  17,-35,  12,-40data  17,-05,  12, 00data -17,-25, -12,-20data  17,-15,  12,-20data "T", 2data  00, 00,  00,-40data -15,-40,  15,-40data "U", 5data -15,-40, -15,-05data -15,-05, -10, 00data -10, 00,  10, 00data  10, 00,  15,-05data  15,-05,  15,-40data "V", 2data -17,-40,  00, 00data  00, 00,  17,-40data "W", 4data -20,-40, -10, 00data -10, 00,  00,-40data  00,-40,  10, 00data  10, 00,  20,-40data "X", 2 data -15,-40,  15, 00data -15, 00,  15,-40data "Y", 3data -15,-40, 00,-15data  15,-40, 00,-15data  00,-15, 00, 00data "Z", 3data -15,-40,  15,-40data  15,-40, -15, 00data -15, 00,  15, 00data "?", 12data -07,-40, 07,-40data -07,-40,-12,-35data  07,-40, 12,-35data  12,-35, 12,-25data  12,-25, 07,-20data  07,-20, 05,-20data  05,-20, 00,-15data  00,-15, 00,-07data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data ".", 4data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data "!", 5data  00,-07, 00,-40data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data "-", 1data -07,-20, 07,-20data "'", 6data -01,-40, 01,-38data -01,-38, 01,-40data  00,-38, 00,-38data -01,-39, 01,-39data -01,-38,-02,-35data -02,-35, 01,-38data ",", 6data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00, 00data -01,-01, 01,-01data -01, 00,-02, 03data -02, 03, 01, 00data "1", 3data  00, 00, 00,-40data  00,-40,-05,-35data -05, 00, 05, 00data "2", 9data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-22data  15,-22, 10,-17data  10,-17,-10,-17data -10,-17,-15,-12data -15,-12,-15, 00data -15, 00, 15, 00data  "3",11data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-25data  15,-25, 10,-20data  10,-20, 15,-15data  15,-15, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data  00,-20, 10,-20data  "4", 4data  07, 00, 07,-40data  07,-40,-15,-15data -15,-15,-15,-10data -15,-10, 17,-10data "5", 8data  15,-40,-15,-40data -15,-40,-15,-22data -15,-22, 10,-22data  10,-22, 15,-17data  15,-17, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "6",11data  15,-35, 10,-40data  10,-40,-10,-40data -10,-40,-15,-35data -15,-35,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-05, 15,-17data  15,-17, 10,-22data  10,-22,-10,-22data -10,-22,-15,-15data "7", 2data -15,-40, 15,-40data  15,-40,-02, 00data "8",15data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-25data  15,-25, 10,-20data  10,-20, 15,-15data  15,-15, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-15data -15,-15,-10,-20data -10,-20,-15,-25data -15,-25,-15,-35data -10,-20, 10,-20data "9",11data  15,-22,10,-17data  10,-17,-10,-17data -10,-17,-15,-22data -15,-22,-15,-35data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "0", 9data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-35data -10,-40, 10, 00data "a",12data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 20, 00data  15,-12, 10,-17data  10,-17,-10,-17data -10,-17,-15,-12data -15,-12,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "b", 10data -10,-40,-15,-35data -15,-35,-15,-05data -15,-05,-20, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "c", 7data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "d",10data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 20, 00data "e", 9data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-20data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-12data  15,-12,-15,-12data "f", 5data  15,-35, 10,-40data  10,-40, 00,-40data  00,-40,-05,-35data -05,-35,-05, 00data -15,-20, 05,-20data "g",11data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-20, 15, 10data  15, 10, 10, 15data  10, 15,-10, 15data -10, 15,-15, 10data "h", 6data -10,-40,-15,-35data -15,-35,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "i", 5data  00, 00, 00,-25data -01,-32, 01,-30data -01,-30, 01,-32data  00,-30, 00,-32data -01,-31, 01,-31data "j", 9data  00, 00, 00,-25data  00,-25, 00, 10data  00, 10,-05, 15data -05, 15,-10, 15data -10, 15,-15, 10data -01,-32, 01,-30data -01,-30, 01,-32data  00,-30, 00,-32data -01,-31, 01,-31data "k", 4data -10,-40,-15,-35data -15,-35,-15, 00data  10,-25,-15,-10data  10, 00,-08,-14data "l", 2data  00,-40,-05,-35data -05,-35,-05, 00data "m", 9data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25,-05,-25data -05,-25, 00,-20data  00,-20, 00, 00data  00,-20, 05,-25data  05,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "n",5data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "o", 8data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-05, 15,-20data "p", 8data -15,-25,-15, 20data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "q", 8data  15,-25, 15, 20data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "r", 4data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data "s",11data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-18data -15,-18,-10,-13data -10,-13, 10,-13data  10,-13, 15,-10data  15,-10, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "t", 3data -05,-40,-05,-05data -05,-05, 00, 00data -10,-25, 05,-25data "u", 5data -15,-25,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15, 00, 15,-25data "v", 2data -13,-25, 00, 00data  00, 00, 13,-25data "w", 4data -15,-25,-08, 00data -08, 00, 00,-25data  00,-25, 08, 00data  08, 00, 15,-25data "x", 2data -10,-25, 10, 00data -10, 00, 10,-25data "y", 8data -15,-25,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-25, 15, 10data  15, 10, 10, 15data  10, 15,-10, 15data -10, 15,-15, 10data "z", 3data -13,-25, 13,-25data  13,-25,-13, 00data -13, 00, 13, 00`
Next , the sine wave thingy.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### Shockwave

• good/evil
• Founder Member
• Posts: 17297
• Karma: 489
• evil/good
##### Re: TEXT SIZING
« Reply #11 on: June 10, 2011 »
Looks cool!

It will look good sined
Shockwave ^ Codigos
Challenge Trophies Won:

#### rain_storm

• Here comes the Rain
• Posts: 3075
• Karma: 182
• Rain never hurt nobody
##### Re: TEXT SIZING
« Reply #12 on: June 10, 2011 »
Real nice, its great that you added in the lowercase characters.

Challenge Trophies Won:

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #13 on: June 10, 2011 »
Thanks. That was fun.

I also did this.

Code: [Select]
`data "^",28data -04,-35, 04,-35data  04,-35, 11,-31data  11,-31, 15,-24data  15,-24, 15,-16data  15,-16, 11,-09data  11,-09, 04,-05data  04,-05,-04,-05data -04,-05,-11,-09data -11,-09,-15,-16data -15,-16,-15,-24data -15,-24,-11,-31data -11,-31,-04,-35data -06,-26,-04,-26data -07,-25,-03,-25data -08,-24,-02,-24data -08,-23,-02,-23data -07,-22,-03,-22data -06,-21,-04,-21data  04,-26, 06,-26data  03,-25, 07,-25data  02,-24, 08,-24data  02,-23, 08,-23data  03,-22, 07,-22data  04,-21, 06,-21data -09,-17,-06,-14data -06,-14, 00,-12 data  00,-12, 06,-14data  06,-14, 09,-17`
It makes a smiley face.

I tried "smiley" instead of "^" and the 's' was replaced with the characters of 'smiley'.
Is it possible to have the characters disappear?
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### rain_storm

• Here comes the Rain
• Posts: 3075
• Karma: 182
• Rain never hurt nobody
##### Re: TEXT SIZING
« Reply #14 on: June 11, 2011 »
I tried "smiley" instead of "^" and the 's' was replaced with the characters of 'smiley'.
Is it possible to have the characters disappear?

I'm not sure whether you mean disappear from the screen or disappear from memory. If you mean from memory then the answer is yes and no. The drawing lines can become inaccessible. But they remain in memory.

Code: [Select]
`dim x1(1), y1(1), x2(1), y2(1) // array of line drawing co-ordinates`^The four arrays that hold the drawing line co-ordinates. The co-ordinates for all drawing lines are kept together in a single array. These arrays are grown to accomodate new lines as we find them. There's a variable "TotalLines" that keeps a running count of all drawing lines defined so far. TotalLines is used to resize these arrays just before reading the values of the co-ordinates into the newly added array elements...
Code: [Select]
`redim x1(TotalLines), y1(TotalLines)redim x2(TotalLines), y2(TotalLines)read x1(TotalLines), y1(TotalLines)read x2(TotalLines), y2(TotalLines)TotalLines = TotalLines + 1`We access these co-ordinates be taking note of the value of TotalLines before we grow the array. The value of TotalLines becomes the current index so we know exactly where our new lines will be stored:
Code: [Select]
`read Ascii\$ // the character to useread NumLines // the number of lines to drawAscii = asc(mid\$(Ascii\$, 1, 1))Start(Ascii) = TotalLinesCount(Ascii) = NumLines`Here we use the string character as an index to store the current value of TotalLines and the number of drawing lines used for the string character. If you reassign new values to a string character the co-ordinates that were previously assigned to that character will become inaccessible. The old co-ordinates remain in memory.

Challenge Trophies Won:

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #15 on: June 11, 2011 »
Sorry. I guess I meant, I wanted to activate my smiley with the word 'smiley'
and have just the smiley face come up.
Instead of the smiley face and the letters 'miley' come up after it.
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### rain_storm

• Here comes the Rain
• Posts: 3075
• Karma: 182
• Rain never hurt nobody
##### Re: TEXT SIZING
« Reply #16 on: June 11, 2011 »
The ascii character 1 is a clear smiley ascii character 2 is a filled smiley. Change the first line of the smiley character data to this
Code: [Select]
`data 1, 28 // was "^" now its asc(smiley)`
To use this character you need to embed the smiley character in the string
Code: [Select]
`a\$ = "The quick brown fox " + chr\$(1) + " jumps over the lazy dog"`

Challenge Trophies Won:

• Atari ST
• Posts: 235
• Karma: 24
• Hard players don't go home.
##### Re: TEXT SIZING
« Reply #17 on: June 15, 2011 »
And now, 'SINED'.

Code: [Select]
`a\$="^^THE^QUICK^BROWN^FOX^JUMPS^OVER^THE^LAZY^DOG"a\$=a\$+"^^the^quick^brown^fox^jumps^over^the^lazy^dog^^"LoadFont()s=.45h=2.5w=0m=640ang=pi/180open window 640,512repeat    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-1until (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 chend subsub 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 rem or y=sin((x+m)*ang*2)*200*s+300 to double the wave        line x+x1(i)*s-z, y+y1(i)*s*h to x+x2(i)*s-z1, y+y2(i)*s*h     next iend subdata 69// NumCharactersdata 40 // CharacterWidthdata 60 // CharacterHeightdata "A", 3data -18, 00, 00,-40data  00,-40, 18, 00data -13,-11, 13,-11data "B", 10data -17, 00, -17,-40data -17, 00,  07, 00data -17,-20,  07,-20data -17,-40,  07,-40data  12,-35,  12,-25data  12,-15,  12,-05data  07,-40,  12,-35data  07,-20,  12,-25data  07,-20,  12,-15data  07, 00,  12,-05data "C", 7data -15,-05, -15,-35data -10, 00,  10, 00data -10,-40,  10,-40data -15,-35, -10,-40data -15,-05, -10, 00data  10,-40,  15,-35data  10, 00,  15,-05data "D", 6data -15,-40, -15, 00data -15,-40,  07,-40data -15, 00,  07, 00data  12,-35,  12,-05data  07,-40,  12,-35data  07, 00,  12,-05data "E", 4data -17, 00, -17,-40data -17,-40,  15,-40data -17, 00,  15, 00data -17,-20,  12,-20data "F", 3data -17, 00, -17,-40data -17,-40,  17,-40data -17,-20,  10,-20data "G", 10data -17,-35, -17,-05data -12,-40,  12,-40data -12, 00,  12, 00data  17,-05,  17,-20data  17,-35,  17,-30data  17,-20,  07,-20data -17,-35, -12,-40data -17,-05, -12, 00data  12,-40,  17,-35data  12, 00,  17,-05data "H", 3data -15, 00, -15,-40data  15, 00,  15,-40data -15,-20,  15,-20data "I", 3data  00, 00,  00,-40data -10, 00,  10, 00data -10,-40,  10,-40data "J", 5data  00,-40,  00,-05data -10,-40,  10,-40data -17,-05, -12, 00data  00,-05, -05, 00data -05, 00, -12, 00data "K", 3data -15, 00, -15,-40data  15,-40, -15,-15data  15, 00, -10,-18data "L", 2data -15, 00, -15,-40data -15, 00,  10, 00data "M", 4data -17, 00, -17,-40data  17, 00,  17,-40data -17,-40,  00, 00data  17,-40,  00, 00data "N", 3data -15, 00, -15,-40data -15,-40,  15, 00data  15, 00,  15,-40data "O", 8data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data "P", 6data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data "Q", 9data -15,-05, -15,-35data  15,-05,  15,-35data -10,-40,  10,-40data -10, 00,  10, 00data -15,-35, -10,-40data -15,-05, -10, 00data  15,-35,  10,-40data  15,-05,  10, 00data  15, 00,  05,-10data "R", 7data -17, 00, -17,-40data -17,-40,  10,-40data -17,-15,  10,-15data  15,-35,  15,-20data  10,-40,  15,-35data  10,-15,  15,-20data  17, 00,  05,-15data "S", 11data -12, 00,  12, 00data -12,-20,  12,-20data -12,-40,  12,-40data -17,-25, -17,-35data  17,-05,  17,-15data -17,-35, -12,-40data -17,-05, -12, 00data  17,-35,  12,-40data  17,-05,  12, 00data -17,-25, -12,-20data  17,-15,  12,-20data "T", 2data  00, 00,  00,-40data -15,-40,  15,-40data "U", 5data -15,-05, -15,-40data -15,-05, -10, 00data -10, 00,  10, 00data  10, 00,  15,-05data  15,-05,  15,-40data "V", 2data -17,-40,  00, 00data  00, 00,  17,-40data "W", 4data -20,-40, -10, 00data -10, 00,  00,-40data  00,-40,  10, 00data  10, 00,  20,-40data "X", 2 data -15,-40,  15, 00data -15, 00,  15,-40data "Y", 3data -15,-40, 00,-15data  15,-40, 00,-15data  00,-15, 00, 00data "Z", 3data -15,-40,  15,-40data  15,-40, -15, 00data -15, 00,  15, 00data "?", 12data -07,-40, 07,-40data -07,-40,-12,-35data  07,-40, 12,-35data  12,-35, 12,-25data  12,-25, 07,-20data  07,-20, 05,-20data  05,-20, 00,-15data  00,-15, 00,-07data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data ".", 4data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data "!", 5data  00,-07, 00,-40data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00,-02data -01,-01, 01,-01data "-", 1data -07,-20, 07,-20data "'", 6data -01,-40, 01,-38data -01,-38, 01,-40data  00,-38, 00,-38data -01,-39, 01,-39data -01,-38,-02,-35data -02,-35, 01,-38data ",", 6data -01,-02, 01, 00data -01, 00, 01,-02data  00, 00, 00, 00data -01,-01, 01,-01data -01, 00,-02, 03data -02, 03, 01, 00data "1", 3data  00, 00, 00,-40data  00,-40,-05,-35data -05, 00, 05, 00data "2", 9data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-22data  15,-22, 10,-17data  10,-17,-10,-17data -10,-17,-15,-12data -15,-12,-15, 00data -15, 00, 15, 00data  "3",11data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-25data  15,-25, 10,-20data  10,-20, 15,-15data  15,-15, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data  00,-20, 10,-20data  "4", 4data  07, 00, 07,-40data  07,-40,-15,-15data -15,-15,-15,-10data -15,-10, 17,-10data "5", 8data  15,-40,-15,-40data -15,-40,-15,-22data -15,-22, 10,-22data  10,-22, 15,-17data  15,-17, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "6",11data  15,-35, 10,-40data  10,-40,-10,-40data -10,-40,-15,-35data -15,-35,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-05, 15,-17data  15,-17, 10,-22data  10,-22,-10,-22data -10,-22,-15,-15data "7", 2data -15,-40, 15,-40data  15,-40,-02, 00data "8",15data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-25data  15,-25, 10,-20data  10,-20, 15,-15data  15,-15, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-15data -15,-15,-10,-20data -10,-20,-15,-25data -15,-25,-15,-35data -10,-20, 10,-20data "9",11data  15,-22,10,-17data  10,-17,-10,-17data -10,-17,-15,-22data -15,-22,-15,-35data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "0", 9data -15,-35,-10,-40data -10,-40, 10,-40data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-35data -10,-40, 10, 00data "a",12data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 20, 00data  15,-12, 10,-17data  10,-17,-10,-17data -10,-17,-15,-12data -15,-12,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "b", 10data -10,-40,-15,-35data -15,-35,-15,-05data -15,-05,-20, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "c", 7data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "d",10data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  10,-40, 15,-35data  15,-35, 15,-05data  15,-05, 20, 00data "e", 9data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data -15,-05,-15,-20data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-12data  15,-12,-15,-12data "f", 5data  15,-35, 10,-40data  10,-40, 00,-40data  00,-40,-05,-35data -05,-35,-05, 00data -15,-20, 05,-20data "g",11data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-20, 15, 10data  15, 10, 10, 15data  10, 15,-10, 15data -10, 15,-15, 10data "h", 6data -10,-40,-15,-35data -15,-35,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "i", 5data  00, 00, 00,-25data -01,-32, 01,-30data -01,-30, 01,-32data  00,-30, 00,-32data -01,-31, 01,-31data "j", 9data  00, 00, 00,-25data  00,-25, 00, 10data  00, 10,-05, 15data -05, 15,-10, 15data -10, 15,-15, 10data -01,-32, 01,-30data -01,-30, 01,-32data  00,-30, 00,-32data -01,-31, 01,-31data "k", 4data -10,-40,-15,-35data -15,-35,-15, 00data  10,-25,-15,-10data  10, 00,-08,-14data "l", 2data  00,-40,-05,-35data -05,-35,-05, 00data "m", 9data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25,-05,-25data -05,-25, 00,-20data  00,-20, 00, 00data  00,-20, 05,-25data  05,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "n",5data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15, 00data "o", 8data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-05, 15,-20data "p", 8data -15,-25,-15, 20data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data  15,-20, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "q", 8data  15,-25, 15, 20data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data "r", 4data -15,-25,-15, 00data -15,-20,-10,-25data -10,-25, 10,-25data  10,-25, 15,-20data "s",11data  15,-20, 10,-25data  10,-25,-10,-25data -10,-25,-15,-20data -15,-20,-15,-18data -15,-18,-10,-13data -10,-13, 10,-13data  10,-13, 15,-10data  15,-10, 15,-05data  15,-05, 10, 00data  10, 00,-10, 00data -10, 00,-15,-05data "t", 3data -05,-40,-05,-05data -05,-05, 00, 00data -10,-25, 05,-25data "u", 5data -15,-25,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15, 00, 15,-25data "v", 2data -13,-25, 00, 00data  00, 00, 13,-25data "w", 4data -15,-25,-08, 00data -08, 00, 00,-25data  00,-25, 08, 00data  08, 00, 15,-25data "x", 2data -10,-25, 10, 00data -10, 00, 10,-25data "y", 8data -15,-25,-15,-05data -15,-05,-10, 00data -10, 00, 10, 00data  10, 00, 15,-05data  15,-25, 15, 10data  15, 10, 10, 15data  10, 15,-10, 15data -10, 15,-15, 10data "z", 3data -13,-25, 13,-25data  13,-25,-13, 00data -13, 00, 13, 00data "^",28data -04,-35, 04,-35data  04,-35, 11,-31data  11,-31, 15,-24data  15,-24, 15,-16data  15,-16, 11,-09data  11,-09, 04,-05data  04,-05,-04,-05data -04,-05,-11,-09data -11,-09,-15,-16data -15,-16,-15,-24data -15,-24,-11,-31data -11,-31,-04,-35data -06,-26,-04,-26data -07,-25,-03,-25data -08,-24,-02,-24data -08,-23,-02,-23data -07,-22,-03,-22data -06,-21,-04,-21data  04,-26, 06,-26data  03,-25, 07,-25data  02,-24, 08,-24data  02,-23, 08,-23data  03,-22, 07,-22data  04,-21, 06,-21data -09,-17,-06,-14data -06,-14, 00,-12 data  00,-12, 06,-14data  06,-14, 09,-17`
« Last Edit: August 24, 2013 by bikemadness »
Have a Yahappy day.
I don't know what is wrong with the world - but I know how to fix it.

#### Shockwave

• good/evil
• Founder Member
• Posts: 17297
• Karma: 489
• evil/good
##### Re: TEXT SIZING
« Reply #18 on: June 15, 2011 »
How cool is that!

Well done.
Shockwave ^ Codigos
Challenge Trophies Won: