Inspecting and Repairing Fonts

When a production font behaves differently from its source preview, inspect the compiled data as well as the source. A table-level correction can be useful, but it must remain consistent with the rest of the font.

The Tables Panel

An OpenType table is a named binary structure, such as cmap, name, OS/2, GSUB, GPOS, or GDEF. The Tables panel stores supported custom definitions in TTX XML, the fontTools representation of those structures.

Open Window > Panels > Tables. Imported definitions depend on the Open Fonts table-import settings and supported table types. Inspect the table-exclusion list in Preferences > Open Fonts: regenerated tables such as cmap, head, OS/2, and layout tables can be excluded. Not every binary table is imported, and deliberately excluded tables may be absent because FontLab normally generates them from native data.

Tables panel with the BASE entry selected and its TTX XML displayed; the export checkbox is unchecked.

The selected BASE entry opens its TTX definition in the editor. Its unchecked box shows that selecting a table for inspection does not enable it for export.

Enabled definitions can be written late in export and override tables FontLab would otherwise generate. A stale custom name or layout definition can therefore undo changes you made through the ordinary editor. Review the enabled-table list when an exported result seems to ignore source edits.

To add a custom definition:

  1. Keep a source copy without the override.
  2. Click the panel’s + control to add a table entry, then give it the correct four-character tag.
  3. Enter or import the appropriate TTX definition.
  4. Use Verify and inspect the Output panel.
  5. Enable the intended definition for export and inspect the resulting font.

Verification checks whether a definition can be parsed and built in its test context. It does not establish that a custom naming, layout, metric, or hinting table agrees with the font's other data.

Prefer correcting the native source when the ordinary interface expresses the required behavior. Use a custom table when it is the required authoring route, and document why it exists and which other data it depends on.

Libraries and External Tools

Several libraries serve different roles in the production workflow: AFDKO-related compilation, bundled fontTools table handling and TTX conversion, HarfBuzz shaping, ICU text services, and FreeType rasterization. These support stages such as CFF outline compilation and GSUB/GPOS layout building; recall Shaping Text and Authoring OpenType Layout. Their presence does not mean every operation passes through the same library or has identical behavior in every target application.

For specialist inspection, OTMaster provides a visual table-oriented workflow, while fontTools' ttx converts supported binary tables to XML and back. Use the tool's own documentation for its editing procedure; keep the original output and record the exact repair applied.

A binary repair should not become an undocumented step that must be rediscovered for the next release. Where possible, move the correction into the source, profile, or managed custom table so the result can be rebuilt.

Finally, test the repaired file in the actual consumer. Valid XML, a successful compilation, and a visible table entry are useful checks, but the delivered font must also shape, render, and identify itself as intended.

This completes the production handoff: a native design source has produced an inspectable delivery, checked in its intended consumer. Retain that source and the build information needed to reproduce the release. As with the external-tool boundary in Appendix — Microsoft VOLT Integration, the named inspection tools complement the workflow without replacing their own reference documentation.