Hinting in FontForge

user9812
user9812 Posts: 7
edited December 2022 in Font Technology
A font I like has two versions:

(1) the original version, which has a limited number of characters but is really crisp (not blurry or distorted); and,
(2) the extended version, which was created years later and is 'extended' in that it has many more characters (such as the greek alphabet). However, the characters are vertically warped such that they are taller (and I think it's pretty noticeable).

I need the additional characters but I want to clear, crisp characters of the first. I am trying to achieve this using FontForge. So this is what I've done:

- opened the original version in FontForge
- merged it with the extended version by going Element -> Merge Fonts
- deleted lots of characters (probably at least half)
- deleted lots of stuff in the lookups tables (GSUB) because I don't think I need them
- I then went to Element -> Font Info -> Grid Fitting and played around with those, generating fonts and trying to figure out the effect each setting has on the output

The best font I managed to generate at this point had characters that were the correct height (they matched the height of the original version) but some characters took up less horizontal space..? Also, while the characters that were in the original version were slightly blurry, the characters that were added, e.g. the Greek letters, were really blurry.

- I then cleared all hinting and auto instructions and followed the procedure here: https://github.com/fontforge/fontforge/wiki/How-TT-Hinting-Works for hinting. The font I generated from this is as follows: the characters that were in the original version are still slightly blurry and have now been distorted vertically, so are much taller. The characters from the extended version are much more crisp but they are also distorted vertically so are also much taller. This vertical warping is basically mimicking what was happening in the extended version.

Does anyone have any idea of how I prevent the characters from distorting vertically so much and also how I can make the blurriness a bit clearer?

Comments

  • Sounds like you’re getting the negative effects of ttfautohint. I’ve personally found that tool hard to control, and VTT much easier to deal with—it also lets you modify the hinting instructions manually.

    Take a look at https://github.com/googlefonts/how-to-hint-variable-fonts

    It is focused on variable fonts but all the same concepts apply to static fonts.

    Btw, you do have permissions to create a derivative of the font, yes? :smile: