Design With FontForge

A book about how to create new typefaces using FontForge

Download as [ePUB] | [MOBI] | [PDF]
GitHub でプロジェクトを見る

正誤表 Errata

Memorandum of Errata

While preparing the Japnese version of “Design with FontForge”, some errors are noted. Below are memo of some of them. (as of Feburuary 2024)

Chapter Para # Error Phrases Correction idea (should be)

17. Punctuation and Symbols

¶ #5

  • The shape of the comma can vary to an almost suprising degree.
    • should be: surprising

19 Diacritics and Accents

Creating anchor points for placing diacritic marks

¶ #23

  • FontForge uses lookup features know as ‘mark-to-base’for creating and positioning anchor points.
    • should be:  known as …

Control of Anchor Classes

¶ #28

  • FontForge also contains a useful graphical interface for controlling the position of whole classes of anchor points, enabling the user to fine-tune the position of, for example, all the acute accents at once in a font, or all the anchors in a class contained in characters that reference the lowercase ‘e’.
    • Is the folowing sentence after the above duplicated ? : In the examples below we can see how to use this graphical interface to fine-tune the position of all acute accents in a font and a class of anchors across all characters that reference the lowercase ‘e’ glyph.

20. Numerals

Ranging or old style numerals

  • Section Header “Ranging or …” meant “Ranging of …”? In this Japanese version, this header is traslated as “Range of (Various) old style numerals”.

22. Italics

Italic construction

  • The term “italic” does not, in fact, refer to the slant seen in in many italic designs, but instead refers instead to a style of writing which became popular in 14th century Italy.
    • the word “instead” is redundant.

23. Spacing, Metrics and Kerning

A basic approach to spacing

  • …. Once you are happy with the spacing of your string of ‘o’ characters, introduce the ‘n’ character from your font (see below) and then look to adjust the side bearings of the ‘n’ so that its spacing fits into the balance of the string of ‘o’ characters (*see below). …
    • Probably, either of these “see below” is redundant.


  • …. In the examples below, we can see that, without kerning, the spacing between the letter pairs ‘To’ and ‘Va’ are too wide, ….
    • Va</i>’ should be ‘Av</i>’.

Kerning with Classes

This section in English version is diferenct in its contents from those in French and Chinese version. Was the current English version updated from the one French/Chinese versions are based on?

Some explanations are ambiguous/uncertain about what they are talking about. Some examples are;

  • If you chose classes you will be presented with a following dialog where you can create your classes. If you want to kern references along with the originals, choose classes.

  • But know that some experienced users don’t like it, and do all kerning as above: Element, Font Info, Lookups, GPOS tab, expand by hitting the plus sign, double-click the subtable.

24. Making Sure Your Font Works, Validation

First things first: test for required features

  • In the “Refs” tab, select all six tests.
  • should be: “…, select all seven tests.” In the FontForge 2023.01.01 edition, the Refs tab of “Find Problem” window has seven options (and the 7th option is not translated into Japanese yet in the Japanese version - probably added recently?).

Make life easier for your users: test for good behavior

  • In the “Paths”, …. Modern font formats strongly suggest that … or on the page. check will look for missing extrema points. …
  • The last sentence above seems to be “redundant” as it says the same thing as the sentence “The first looks for points at the extrema ….” OR add “This” to make it a complete sentence “This check will look for ….”

Help yourself: run tests that can aid design

  • The Edges near horizontal/vertical/italic test in the “Paths” tab looks for line segments that ….
    • should be:Edges near horizontal/vertical” without the “/italic”? The “Find Problems” window in 2023 FontForge does not list the option by this title with “/italic” (at least in Japnese version).

25. The Final Output, Generating Font Files

Check your metadata

  • Fonts, like all creative works, need to have a license, so users will know what they are and are not allowed to do. FontForge has a button in the “TTF Nmes” tab labelled “Add SIL Open Font License.”…
    • should be: … “TTF names” …

26. When Things Go Wrong With FontForge Itself

Paying for Support

  • FreedomSponsors offers a transparent system for paying FontForge developers to fix issues you care about in a timely fashion.
    • Not sure if the link (website) od the above site is still working or not.

27. Designing Devanagari Typefaces

What to Do First

  • Ideally, these should stack below your lowest vertically-stacking conjunct, like the example on the left (Lohit, which doesn’t quite vertically fit, is on the right):
  • Should be: it seems that the link to the font examples (on the left and the right of something) is missing after : ?????


  • Vaibhav Singh’s MATD disertation
  • Should be: Vaibhav Singh’s MATD dissertation

28. Importing Glyphs from Other Programs

How to prepare

  • By default FontForge will set up your baseline at y=800. In the FontForge coordinate system, the baseline is at their 0 point on their vertical access.
    • Should be: … on their vertical axis?
  • When drawing the glyph, it is common to use relative coordinates. Start the glyph with <path d="M Xvalue,Yvalue. …
    • ?? : Not sure what the sentence “Start the glyph with <path d="M Xvalue,Yvalue.” meant.