FontForge Font Info Lookups Menu Explained
The Element > Font Info > Lookups menu in FontForge is the central control panel for defining advanced OpenType typographic behavior. This article provides a concise overview of the Lookups interface, explaining how it enables font designers to configure dynamic typography rules such as kerning, ligatures, and contextual alternates. By understanding this menu, you can transform a static set of vector outlines into an intelligent, responsive digital font capable of handling complex scripts and professional typographic layouts.
What Are Lookups in FontForge?
In digital typography, an OpenType lookup is an instruction set that tells a text rendering engine how to alter the appearance or position of glyphs based on context. FontForge organizes these instructions under the Element > Font Info > Lookups pane.
Without lookups, a font simply outputs characters one after another at their default widths. Lookups introduce conditional logic, allowing glyphs to interact dynamically.
The Two Primary Lookup Categories
The Lookups menu is divided into two primary tabs, corresponding to the two main OpenType layout tables:
- GSUB (Glyph Substitution): Instructs the rendering
engine to replace one or more glyphs with alternative glyphs. Common
uses include:
- Ligatures (
liga,dlig): Replacing letter combinations like "fi" or "ffi" with a unified single glyph. - Small Capitals (
smcp): Replacing lowercase letters with small capital variants. - Alternates (
salt,calt): Swapping default shapes for stylistic or contextual variations. - Fractions (
frac): Converting typed numbers separated by a slash into proper typographic fractions.
- Ligatures (
- GPOS (Glyph Positioning): Modifies the placement,
spacing, or alignment of glyphs without replacing the underlying shapes.
Common uses include:
- Kerning (
kern): Adjusting horizontal spacing between specific letter pairs (e.g., tightening "AV" or "To"). - Mark-to-Base / Mark-to-Mark (
mark,mkmk): Accurately positioning diacritics and accents above or below base letters. - Cursive Attachment (
curs): Connecting entry and exit points in connected scripts like Arabic or handwriting fonts.
- Kerning (
The Structure of a Lookup
Within this menu, OpenType features are arranged hierarchically:
- Feature Tag: A standard four-letter OpenType tag
(such as
kernorliga) assigned to an intended script and language system. - Lookup: The specific rule container linked to the feature tag, defining how the rule executes.
- Subtable: The individual data table inside a lookup where specific glyph pairings, classes, or replacement matrices are stored.
Core Capabilities of the Lookups Menu
The Lookups interface allows designers to:
- Add and Organize Features: Manually create new GSUB and GPOS features or edit existing ones.
- Manage Kerning Classes: Define groups of characters that share identical spacing behaviors, drastically reducing font file size and production time compared to pairing every glyph individually.
- Define Contextual Logic: Set up chained context rules where a glyph substitution or repositioning only triggers if preceded or followed by specific characters.
- Import and Export Feature Files: Import external
Adobe Feature (
.fea) syntax files or export existing font rules for version control and cross-editor compatibility.
The Lookups menu is the core interface responsible for a font’s intelligence. Mastering it ensures that typefaces render correctly, adhere to typographic standards, and support diverse languages seamlessly across all modern operating systems and design software.