> The tools available have evolved considerably since then, of course, but
> I'm sure their insights to the issues would be worth seeing. There are
> a lot of design decisions that crop up when you're out in the weeds, for
> instance, like the drastic differences you get in proportions between
> different bitmap-point-sizes. Today we could account for that by having
> optical-size variants, which would be fascinating to explore as a project.
Fortunately ;) the font at the top of my agenda, that of the PLATO IV
terminal, has only one size. But I have pondered what's the Right Way
to approach Apple Geneva, for example.
On March 3, 2017 12:40:59 AM Js jS wrote:
> i figured how to create characters before drawing into them, so now you
> just get the bdf file, start new font and run the script
Interesting method to vectorize the font.
Somewhat similar to building a brick wall.
I could see that cleanup is going to be a fair bit of deleting unneeded
lines, but this is a good starting point, and you do indicate it's very
I would recommend building-up on your idea, and having an intermiediate
As this is getting technical, I would recommend moving the discussion to
the developer list, and leave the user list to concentrate mainly on fonts.
...however, in terms the middle stage, this is the suggestion:
suppose the font is an 8x8 pixel square.
create an array (8x2+1)x(8x2+1).
then for your main draw routine, replace it with something to fill in the
for looping through x and y do....
# print "ox,oy",ox, oy
a(x*2,y*2)=a(x*2,y*2)+1 #top edge
a(x*2,y*2+1)=a(x*2,y*2+1)+1 #right edge
a(x*2+1,y*2+1)=a(x*2+1,y*2+1)+1 #bottom edge
a(x*2+1,y*2)=a(x*2+1,y*2)+1 #left edge
after you fill in the new array, you can now cleanup and remove overlaps
where you see a(nx,ny)>=2, as these are overlapping lines, while 1 is most
likely an edge and therefore what you want to keep.
after cleanup, this next step is harder, but anything with 1, you can test
straight rows and figure-out a way to make your short segments into one long