FontLab Forum
2012-02-06, 23:44:05 *
Welcome, Guest. Please login or register.

Login with username, password and session length
News: Welcome to the FontLab forum, read how to use it! Update: Archives from old MSN forums are now available on our forum.
 
   Home   Help Search Calendar Downloads Tags Login Register  
Del.icio.us Digg FURL FaceBook Stumble Upon Reddit SlashDot

Pages: [1]
  Print  
Author Topic: Font hinting for narrow font  (Read 11764 times)
birniescott
Jr. Member
**

Karma: +0/-0
United Kingdom United Kingdom

Posts: 1


« on: 2009-05-19, 07:59:10 »

Hi guys and girls,

I am fairly new to the FontLab Studio software and require some help as soon as possible as I am slowly loosing the will to live.

I am currently trying to optimise a font which is a thinner(narrower) version of the Verdana font. I am currently having trouble with it displaying correctly in various sizes. Some sizes display thicker characters, the others have hanging baselines and cap heights and some of the numbers appear jumbled up in height (ie: some appear taller than others). Basically it is all a little bit of a mess!

I have had a look through the manual and have identified that I need to add some hinting to the characters. However I am unsure as to where I can do this and how I can adjust the character outline in hinting terms? I have opened up some other "professionally created" fonts which appear to have very clear hinting and quite deliberate adjustments made.

My questions are:
1) How do you create and adjust these hints to accomodate different character sizes (ie: 14-32 pixel/point sizes)
2) Do I have to adjust every character in every size in order to optimise the whole character set? Or is there a set of rules or generic values that can be applied?

I know fully understand the complexities and intricies of font design and creation and bow at anyones feet who can show me the way of the warrior!

Hope someone can help.
Scott
Logged
Der FontMeister (FontLab)
Tech Support, Fontlab Ltd.
Global Moderator
Hero Member
*****

Karma: +1/-0
United States United States

Posts: 93



WWW
« Reply #1 on: 2009-07-22, 11:15:11 »


Tips on Hinting a font in FontLab

Hinting nudges your characters in order to make them appear as crisp as possible. Hinting affects the appearance of a font on screen and (with some printer drivers) the appearance when printed.

1. Make sure you open your font with Auothinting ON. Go to Tools>Options>Opening Truetype and check the Autohint checkbox.

2. Go to Tools>Options>Generating Truetype and make sure the default checkboxes are checked (i.e. every box except for "Direct links").

3. Use the File>Font Info>Hinting dialog if you are manually hinting or re-hinting a font.

4. If your font still looks terrible it may be drawn incorrectly.

There are many other things which can affect screen appearance:

Unclosed Paths and adjacent Points or points on top of points or paths on top of paths or twisted BCP handles.

Poor path design: If you have more points than is optimal to define a path, or have points incorrectly placed in the path (not at extrema).

Incorrect path direction.

Incorrect metrics. Be sure to import and spacing or kerning available from the original font if needed.

CHECK FONT FOR HIGH & LOW POINTS. To set up height normalization FontLab will be looking at some specific characters. It will expect to have a height that is positioned between the top of the upper case "O" and the lowercase “x.”It will expect the lower measurement of capitals to fall between the baseline.

ADD POINTS IF NEEDED. If you have placed the points at the extreme positions and adjusted the vertical/horizontal handles, and your curve line still does not match the background image (placed in the background as a guide), then you will need to add another point to accommodate the curve.

ADJUST CURVE POINTS. Place a copy of the character into the background, then in the foreground reassign curve points to the highest, lowest, farthest right and farthest left sections (the extrema) of each circle or portion of a circle. You will be able to see in the background image just where these places are. They will show up as flat areas in the curving line. Place the curve point in the center of the flat line section.

ADJUST BEZIER CONTROL POINTS (BCPs). Not only do you need to place the curve points in the positions just described, you also need to adjust the Bezier handles which show up when you select a curve point. It is best that these Bezier handles be perfectly horizontal or vertical.

Typical Tech Support Issues

Issue 1: I've added a logo to a Roman font and the logo looks terrible. Rehinting doesn't help.

Reason: Auto-Hinting is designed to work on characters with horizontal and vertical stems, such as the Roman alphabet. You should hardly ever apply hints to a script font. Hints can decrease the quality of these fonts and make them look worse.

Issue 2: My character has one stem larger than the other after it is hinted and generated as a font.

Reason: This can be caused by improper path direction which causes the white space (rather than the stems) to become hinted.

Solution: If the beginning and ending point of the hint correspond to the white space in the character then the white space is what is being hinted. Usually, Correct Path
Direction will fix this.

Issue 3: Some characters have been stretched or squashed vertically but others look fine.

Reason: Most likely, the font needs to be rehinted. The placement of the points was not recognized by the Vertical Alignment zones.

Solution: Turn on Autohint, then make sure that there is at least one point in the bottom zone of your character.

Issue 5: What causes thickening or thinning of stems when printing?

Reason: This is usually caused by bad path information (open paths, adjacent points, bad path direction). It also has been seen when a particular printer driver doesn't work well with the hints in the font.

Solution: Use Correct Path Direction or try a different printer driver. Try turning hints off or Generating the font as a Type 3 font to verify the nature of the problem.

Issue 4: Why do my stems move closer together on characters like "m"?

Reason: This occurs when your font has stems of differing widths. The Adobe Type One spec states (page 54) that the vstem3 command sorts the vertical alignment zones such that the distance from the center of a stem must be equal to the center of any corresponding stems. The same logic applies for the letter "E" and hstem3 hints.

Solution: You will either need to make all of your stems the same width (and the distance from center to center of the stems) or manually hint your font.

Stems can only be satisfactorily hinted if they are 90 degrees or 45 degrees. Uneven angles may look jagged. Stem width normalization takes place at 18 pt and below.

Notes:

TrueType fonts look best when the em square is an even number or a multiple of 1024.
PostScript fonts look best when the em square is a multiple of 1000.

Troubleshooting of a font may reveal that there are extraneous hints which cause certain characters to move up/down, etc. Take a look at the hints and you may see a hint which doesn't make sense such as a stem hint above an area where there is no stem. Delete extraneous hints. For diagonal stems which are getting incorrect widths you can try reversing the hint or changing the width of the hint.

Bad hinting may be causing font corruption.

Jimmy G.
FontLab Support
Logged
softnayr123
Guest
« Reply #2 on: 2009-12-03, 11:28:12 »

thanks for the info Smiley
Logged
deniseweisley
Guest
« Reply #3 on: 2009-12-21, 09:43:40 »

wow, this was a good list of tips, a very helpful one,..just lucky to be able to find it here,..hope to read and learn more...
Logged
Elanor99
Full Member
***

Karma: +0/-0
Cyprus Cyprus

Posts: 4


« Reply #4 on: 2010-08-27, 06:56:23 »

Totally! Excellent tips  Grin I have always used any standard (boring) fonts because I had no idea how to change them. However, i have tried and succeeded so thank you very much for the tips! After a few tries and getting used to the system it's looking pretty good!!!! 
Logged
Tags:
Pages: [1]
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF | SMF © 2011, Simple Machines Valid XHTML 1.0! Valid CSS!