No sidebearing classes
Audit code: sidebearings-no-classes
Definition
The project has no sidebearing classes — every glyph carries its sidebearings independently. For mid-to-large families this gets unmaintainable; sidebearing classes pin shape-similar glyphs (n / m / h / b / d / p / q) together so a tweak propagates.
How Patens surfaces this
The Patens audit module checks for sidebearings-no-classes across five teaching surfaces: the edit-panel inline issue list, the
project-wide audit page, the release pre-flight check, the family hub,
and the home-page project tile. Every surface shows the same plain-English
explanation and links back to this page. This rule is detection-only — there's no automatic fix because the
correction is design-dependent (it requires a judgment call about the
glyph's intended shape or the font's intended behaviour). The audit
message links to the specific glyph or field that needs attention.
Run this check yourself
Patens runs every audit rule live as you draw — including this one.
The editor (in private alpha) shows sidebearings-no-classes firing on real
glyphs, or check your own work from the CLI:
npx patens audit your-project.font.jsonCanonical references
Primary literature where this rule is established or explained. Drawn from the open-licensed corpus — browse the full 42-source canonical library or read the research artifact.
The canonical authority for this rule sits in the in-copyright craft canon (Tracy, Smeijers, Noordzij, Cheng) which requires licensing before body-text ingestion. We cite these by bibliographic reference only — see the library for the full 42-source canon, or the research artifact Section 2 for the family-specific citation matrix. Q3 2026 work expands the corpus once publisher relations land.
Related rules in Kerning classes
class-emptyEmpty kerning classclass-missing-memberClass member missing from projectclass-name-formatKerning class name missing "@" prefixkerning-class-singletonSingleton kerning classkerning-no-classesMany pairs but no classespair-missing-glyphKerning pair references missing glyphpair-orphan-classKerning pair references undefined class