3

I'm using Fontforge to design a typeface, but I have a problem: I cannot draw round circles! :(

I click the circle tool, then draw the circle in the usual fashion (holding down Shift to get a circle, rather than an ellipse) – but as soon as I let go of the left mouse button, the circle changes and wind up looking all irregular, like this:

A non-round circle, drawn in Fontforge.

Background: I'm working by expanding the GNU FreeSans font (a Truetype font) to which I'm adding glyphs for my own writing system. If I open a new project in Fontforge, drawing circles works just fine.

I'm thinking this has something to do with the fact that PostScript fonts use cubic Bézier curves, while Truetype uses quadratic? (Though this is only a guess on my part.)

According to the "Help > About…" menu, I'm using the following version of Fontforge:

git hash: b9149c13e...
Version: 00:15 UTC 31-Jul-2017

3 Answers 3

2

FontForge can draw circles, but the circle primitive does not exist for font outlines. So they get automatically converted to a somewhat close shape using Bézier curves.

While it's possible to approximate a perfect circle with Bézier curves, it is proven to be mathematically impossible.

There is no advantage over using either cubic or quadratic curves, as they are equivalent as far as circles are concerned.

(While it may be possible to draw circles in a totally new font, you will see that as soon as you save such a font as either TrueType or Type 1 – the only outline types that can be used in modern OpenType fonts – they get converted to those same curves.)

1
  • Hi, I was having trouble drawing perpendicular lines in fontforge. Is there a simple way?
    – 3N4N
    Mar 1, 2019 at 14:59
0

I think this problem is related to both the cubic/quadratic setting and grid snapping. Are you drawing at a very small scale?

A workaround could be to draw a large circle, and then scale it down. This way you maintain a more circle-like shape.

1
  • Does FontForge automatically snap all on and off curve points to the closest integer point? It is not required for Type 1 fonts (although highly recommended), and I don't know if floating point coordinates are even possible for TrueType fonts. It may influence the shape at any size (and particularly for relatively small circles on a coarse design grid).
    – Jongware
    Feb 13, 2018 at 14:30
0

I'm using a later version, 20201107, but on this you can draw a nice circle by using the tool labelled "Add a curve point" (the one with the red circle, not the red square). Just add four points arranged in a square and this tool will give you a circle.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.