How to Create a Doughnut Shape in FontForge

Creating a hollow ring or doughnut shape in FontForge involves generating two concentric circular paths and defining their winding directions so the center cuts out. This guide explains how to draw the necessary shapes, align them, and use path direction tools or Boolean operations to produce a clean, hollow vector glyph.

Step 1: Open the Glyph Canvas

Double-click any character slot in your FontForge font view (for example, the letter "O" or a blank slot) to open the glyph editing window.

Step 2: Draw the Outer Circle

  1. Select the Ellipse tool from the toolbox.
  2. Hold down the Shift key to constrain the proportions to a 1:1 aspect ratio, then click and drag on the canvas to create a circle. This will serve as the outer boundary of your ring.

Step 3: Draw the Inner Circle

  1. With the Ellipse tool still active, hold down Shift again and draw a smaller circle.
  2. Select the Pointer tool (arrow icon).
  3. Drag the smaller circle into the center of the larger circle. To center them precisely, select both paths, go to Element > Align, and choose to center both horizontally and vertically.

Step 4: Cut Out the Center

FontForge determines hollow areas based on path direction (winding rules). For an inner shape to create a hole, it must run in the opposite direction of the outer shape.

  • Automatic Method: Select both circles by pressing Ctrl + A (or Cmd + A on macOS). Go to the top menu and select Element > Correct Direction. FontForge will automatically orient the outer path clockwise and the inner path counter-clockwise (or vice versa), creating the cutout.
  • Manual Method: If the shape remains solid, select only the inner circle using the Pointer tool, then go to Element > Clockwise or Counter-Clockwise to invert its direction.
  • Boolean Method: Alternatively, select both overlapping circles and go to Element > Overlap > Exclude to subtract the inner circle from the outer one directly.

Step 5: Verify the Hollow Shape

To confirm the shape is hollow, turn on fill preview by going to View > Fill (or pressing Ctrl + `). The outer ring should appear filled with black while the inner circle remains transparent white. Once verified, run Element > Add Extrema and Element > Round to Int to ensure the glyph conforms to standard font design specifications.