How to Test Mark Positioning in FontForge

Testing mark positioning features inside FontForge allows type designers to verify that combining diacritics and accents attach properly to base glyphs and other marks without exporting the font. This guide covers how to set up, preview, and adjust OpenType GPOS mark-to-base (mark) and mark-to-mark (mkmk) lookups directly within FontForge using built-in preview and metrics tools.

1. Verify Lookups and Anchor Classes

Before testing, ensure your font has the appropriate GPOS features and anchor classes defined:

  1. Go to Element > Font Info > Lookups.
  2. Select the GPOS tab.
  3. Confirm that you have a Mark-to-Base Attachment (mark) or Mark-to-Mark Attachment (mkmk) lookup configured.
  4. Verify that an anchor class is assigned to that lookup and that base characters and diacritics share matching anchor names (for example, a base glyph containing top and a diacritic containing _top).

2. Use the Metrics Window for Live Previews

The Metrics Window is the primary environment for live feature testing:

  1. Open the window by navigating to Metrics > New Metrics Window (or press Ctrl+K / Cmd+K).
  2. Type or paste the sequence of characters you want to test (for example, type the base letter a followed by the combining mark acutecomb).
  3. Ensure OpenType features are active by selecting Features in the Metrics Window menu bar. Verify that the relevant mark positioning features (such as mark and mkmk) are checked.
  4. If configured correctly, the mark will automatically snap to the base glyph according to your anchor rules rather than rendering side-by-side.

3. Adjust Positions Using the Anchor Control Dialog

If an accent is misaligned, you can test and correct the placement interactively:

  1. Double-click the base glyph or mark in the font view to open the Glyph Window.
  2. Right-click the anchor point you wish to test and select Anchor Control. Alternatively, go to Point > Anchor Control.
  3. In the Anchor Control window, choose the matching glyph combination from the list.
  4. Drag the mark to the desired position or use the arrow keys for fine adjustments. The numerical offsets for the anchor points will update automatically.
  5. Close the window to save the updated anchor placement.

4. Test Multiple Script and Language Combinations

Anchor behaviors can vary depending on language systems:

  1. In the Metrics Window, go to View > Complex Script.
  2. Set the appropriate Script and Language tags corresponding to your GPOS lookup rules.
  3. Test right-to-left (RTL) or cursive behavior alongside mark positioning if working with scripts like Arabic or Hebrew by toggling text direction under the Metrics menu.