1. Transfering grid(8x16) info to draw_line sequences
- Posted by ST Qu Man <STQuMan at AOL.COM>
May 08, 1998
-
Last edited May 09, 1998
I am creating a font maker that will make fonts usable in Euphoria. The font
file will contain sequences for draw_line commands
({34,53},{90,245},{300,425}). I can make it so you can draw on the grid, but
how do I transfer that to something like this?
(For letter 'L'...up/down is all of far left column, left/right is bottom
column)
(x is left/right and y is up/down. every x=8=width of one character column)
{x,y},{x,y+16},{x+8,y+16}
But how do I transfer that for other letters?
SOMEBODY PLEASE HELP ME...(plus I'll give them copies right away!! :) )
2. Re: Transfering grid(8x16) info to draw_line sequences
At 08:47 PM 5/8/98 EDT, you wrote:
>I am creating a font maker that will make fonts usable in Euphoria. The font
>file will contain sequences for draw_line commands
Stroked fonts have 1 advantage: they can be drawn in any size.
There are some disadvantages also: in small sizes they are usually
less readable than bitmapped fonts, in large sizes they are too "thin",
unless you go the Postscript route and generate some really complex
filled shapes.
Borland's C++ and Pascal packages contain both stroked fonts and
bitmapped fonts. The bitmapped ones look a lot better.
You might want to compare these before you spend a lot of time
on this project.
Irv
3. Re: Transfering grid(8x16) info to draw_line sequences
Greetings
>I am creating a font maker that will make fonts usable in Euphoria.
The font
>file will contain sequences for draw_line commands
>({34,53},{90,245},{300,425}). I can make it so you can draw on the
grid, but
>how do I transfer that to something like this?
>
>(For letter 'L'...up/down is all of far left column, left/right is
bottom
>column)
>(x is left/right and y is up/down. every x=8=width of one character
column)
>{x,y},{x,y+16},{x+8,y+16}
>
>But how do I transfer that for other letters?
>SOMEBODY PLEASE HELP ME...(plus I'll give them copies right away!! :)
I'm really not quite sure what you're trying to do here but here are
some ideas I have:
Are you trying to convert commands like "up/down" into sets of
coordinates? If so, I would not recomend this approach, however,
this is how I would do it:
type collumn(integer x)
return x>=0
return x<=8
end type
type row(integer x)
return x>=0
return x<=16
end type
-- I don't do types much so if my format or syntax
-- is wrong just adjust it to work right
function up_down(collumn a)
sequence b
b = {{a,0},{a,16}}
return b
end function
function left_right(row a)
sequence b
b = {{0,a},{8,a}}
return b
end function
If this isn't what you had in mind (which I kinda hope it wasn't) then
try something like this:
first of all, I would use the polygon() function because, like someone
else said, if the fonts are very large, then thin lines
would look funny.
with this in mind, here is how I would go about a
font "maker" (I'm assuming that this means a utility
used to make fonts and thus would need to be user-friendly):
have a visual interface in which the user could use the mouse. Each
mouse click would append it's coodinates* to a variable and the screen
would be updated to show what the character would look like.
eg: L={{0,0},{0,16},{7,16},{7,15},{1,15},{1,0}}
* These coodinates would represent points on a 8x16 rectangular area
with {0,0} as the upper left hand corner of the character block. this
way, multiplying all the coodinates by a number would scale the size of
the font and adding numbers would change the position on the screen.
I hope this helps some but if I'm way off of what you had in mind then
just write back and tell me more specifically and I'll be glad to offer
more suggestions.
sincerely,
Lewis Townsend
|\ ____ _ _ _ _ __
| \ | __/ || / | // || / __ \
| \ ||_ || //|| // || ||__\|
| \ | _| || // || // || \___ \
| |\ \ ||__ ||// ||// || |\__||
| | \ \|___\ |_/ |_/ || \____/
| | \ \ _____ ________
| | \ \ | __ \ | __ __ |
| | \ \ ||__|| |/ || \|
| | \ \ | __ / ||
| |______\ \ || \\ ||
|___________\ || || ||
Keroltarr at hotmail.com
______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com