Basics of Font Design
01-04-2014, 07:34 PM,
Post: #1
Question  Basics of Font Design
I'm designing a font.

The need arose with a logo that had to be reducable to 150x50 pixels.

The original logo was drawn by a graphic artist, including the letters, and they have it in vector so it scales really well at large sizes - but the fancy letters, which really do look very good, just look like crud when scaled down that small.

I've already fixed that issue by hand coding SVG letters that are very similar (though not exact) that do look good at small size - and now, for personal reasons I want to turn it into a Type 1 font.

What I'm doing is hand-coding the glyph paths in SVG and then importing into fontforge.

I'm creating SVG files that are 1000 units in height, with (0,0 = top left) y=0 as the ascender line and y=1000 as the descender line. That seems to be what fontforge wants with importing a glyph from SVG.

Fontforge currently then seems to assume the baseline is at y=800 and I'm not sure how to tell FontForge that's not the case.

Basically what FontForge does is create the 1em box with (now in FontForge where y axis is flipped) y=0 is the baseline, y=-200 is the descend line, and y=800 is the ascend line.

It's fine for the difference between ascend / descend to be 1000 - that's cool, that makes it easy to hand code the glyphs in SVG using a canvas with 1000 units in height.

But the positional of the baseline relative to the ascend and descend line is what I want to be able to configure, as that depends upon the font design itself.

Anyone know?

-=-=-

Secondly, there's the left-bearing and the right-bearing.

On import from SVG, FontForge will set the left-bearing to the distance between x=0 and the left most part of the bounding box, and ditto but opposite with the right bearing.

That's cool and easy to change within FontForge if it ends up being wrong. However, what I don't know is how to determine what appropriate values are for left and right bearing.

I gather the left bearing is suppose to be really small and the right bearing is typically larger, but I have no clue as to what the fundamental concepts are for determining a proper right and left bearing value.

Would anyone be so kind as to clue me in?

Thanks.
Welcome to the dark side. Are you surprised we lied about having cookies?
01-04-2014, 08:01 PM,
Post: #2
RE: Basics of Font Design
OK with symetric letters it looks like they are generally suppose to be equal.
Welcome to the dark side. Are you surprised we lied about having cookies?
01-04-2014, 09:54 PM,
Post: #3
RE: Basics of Font Design
OK I found in fontforge where to adjust the ascender and descender values, so changing them so their difference is still 1000 but sets the baseline at 0 works.
Welcome to the dark side. Are you surprised we lied about having cookies?
01-05-2014, 12:16 AM,
Post: #4
RE: Basics of Font Design
I've never used fontforge. I tried to make a font once. I found that making letters was the easiest part. Once I started on with the font tool (Fontographer, I believe) I gave up. The whole process was too anal.

I know that doesn't help with your baselines. But I just figured I'd warn you that it gets worse. keming sucks.
bedstuy Wrote:mocking a pair of $500 jeans is a form of class warfare... why do you hate my social status?
01-06-2014, 02:01 PM,
Post: #5
RE: Basics of Font Design
This is not the font I plan to design, this is a font I'm designing to learn how to use FontForge. Much simpler shapes so smurfups aren't devestating.

[Image: AliceBlockMedium.png]

Right now very limited characters, I haven't done any kerning, and the right-left bearing are the same for every glyph and too small.

One screw-up I made, it's a small-cap font so I just put the small-cap versions in the slots for lower case letters. That is wrong, and it is wrong for a reason.

The mu character - that's part of the ISO8859-1 standard, because of the metric system. Thus I also will need to have proper lower case versions of several other characters also for metric.

The right thing to do will be to move the small-caps into the appropriate small-caps slots and then make a proper lower-case latin alphabet.
I may just make a whole greek alphabet too, several characters other than mu are also fairly common in latin documents.

Looking at the slashes with the A and the R - I can see where I will have to do some kerning.

Looking at the small-caps o - it appears I made a mistake on the right side.

Looking at the registered trademark symbol, I think I need to extend the slanted leg a bit further down. I may need to reduce the height of the c and r within them.

Small font sizes it looks like sh*t - I guess that's why some fonts change design for different sizes. But this kind of font isn't really intended for small sizes anyway.

It is quite a learning experience and gives me a lot more appreciation for the very beautiful fonts I use everyday.
Welcome to the dark side. Are you surprised we lied about having cookies?
01-06-2014, 03:05 PM,
Post: #6
RE: Basics of Font Design
It looks like the problem with the lower case o isn't really my fault. Well, kind of.

I draw the characters in SVG and I uses 17.5 for the distance on part that sticks out but apparently TrueType requires all points be integers so rounding is why one side looks different than other.

Type1 is fine with decimal but it looks like even though Type1 is what I generated, FontForge rounded it so that ttf and .pfb files would be the same.

So I think I need to find the setting to turn that off. I don't give a rats ass about ttf. I'll do .otf when I need more than 256 characters.
Welcome to the dark side. Are you surprised we lied about having cookies?
01-06-2014, 03:24 PM,
Post: #7
RE: Basics of Font Design
In the case of the o, one thing I could do is change the .5 on one side of the centerline to .49 and .51 on other side of the center line.
That would allow for symetric rounding.
Welcome to the dark side. Are you surprised we lied about having cookies?
01-06-2014, 10:27 PM,
Post: #8
RE: Basics of Font Design
OK I'm redoing it all with integers. Grrr. That's why I'm using a simplistic font for first attempt.
Welcome to the dark side. Are you surprised we lied about having cookies?


Forum Jump: