GlyphsIconGrid is a no-dialog reporter plug-in that draws an icon construction system behind the active glyph in Glyphs 3 and Glyphs 4. It adds a font-aligned square grid, circular guides, radial spokes, and common icon keylines without changing outlines, snapping, exports, or saving the document.
Visit the GlyphsIconGrid website for the visual setup guide.
- A 24 × 24 one-em square construction canvas by default.
- Horizontal centering on the glyph advance and master-native Mid Height centering, with baseline-to-cap-height midpoint fallback.
- An expanded background grid that reaches four stem-sized cells beyond the icon square in every direction.
- A cell-centered
oddgrid by default, with an optional line-centeredevenmode. - Metric-fitted live area, up to two stem-spaced inner circles, radial spokes, and Material-derived circle, square, portrait, and landscape keylines.
- A weight-aware default that uses the active master’s capital-H stem for both square cells and circular spacing.
- Blue guides that remain visually distinct from Glyphs metric and user guides.
- Strict alignment feedback near a guide while drawing, shaping, or moving nodes; it never acts as snapping.
- Font-level custom parameters with optional per-master overrides.
- Download a ZIP from Releases and extract it.
- Double-click
IconGrid.glyphsReporter, or move it into the plug-in folder for the Glyphs version you use. - Restart Glyphs.
- Open a glyph in Edit view and choose View → Show Icon Grid.
The source bundle is validated for Glyphs 3.5 and Glyphs 4. See the release test checklist for the exact automated and live checks.
No IconGrid.* parameter is required when the font has stem metrics:
- Open File → Font Info → Masters → Stems.
- Add or verify the capital-H horizontal stem for every master.
- Choose View → Show Icon Grid.
The reporter prefers a named H horizontal stem, then a named H vertical stem, and follows the selected master automatically. The attached research scaffold gives 84 for Regular and 135 for Bold at 1000 UPM; use measured values when the design already exists.
For vertical placement, the reporter uses the active master's first usable,
unfiltered native Mid Height position when one exists. It ignores that metric's
overshoot and falls back to the midpoint between baseline and cap height. An
explicit IconGrid.baselineOffset remains authoritative.
The grid value is the stem itself. Its relationship to the default Glyphs cap-height span is:
cap-height cells = (cap height − baseline) / H stem
With the default 700-unit cap height, the 84-unit Regular stem spans 8.33 cells and the 135-unit Bold stem spans 5.19 cells. Set IconGrid.gridSize only when you need an explicit override. The default odd mode centers one grid cell on the construction axes; add IconGrid.gridMode = even only when the axes should coincide with grid lines.
The unstored live/keyline diameter is cap height / 0.8: 875 units for the
default 700-unit cap height. The Material landscape rectangle runs exactly from
baseline to cap height when the construction center is their midpoint. A
distinct Mid Height moves the rectangle without changing its dimensions. Store
IconGrid.padding only when you intentionally want a cell-based inset instead.
All other settings are optional. The plain-language parameter guide separates the two normal controls from guide, appearance, and advanced compatibility options. See the human user guide for recipes and troubleshooting.
Every release includes the distributable glyphs-mcp-icon-grid skill. It inspects font and master scopes, validates every IconGrid.* value, previews writes, removes redundant settings safely, reads the result back, and never saves the font implicitly.
Connect the Glyphs MCP Edit profile and verify the target font before changing it. The Glyphs MCP guide covers installation, safe calls, inheritance, and example prompts.
On a Mac, download the standalone GlyphsIconGrid AI skill ZIP, unzip it, and double-click Install GlyphsIconGrid Skill.command. Choose the shared location for Codex, Gemini, and Cursor; choose Claude for ~/.claude/skills; or install both. The installer uses built-in macOS tools, requires no repository checkout or Python installation, and keeps a dated backup before replacing an existing copy. The same installer and skill remain included in the full plug-in release ZIP.
For a source checkout, the command-line helper remains available:
python3 scripts/install_skill.py --client codex --scope user --dry-run
python3 scripts/install_skill.py --client codex --scope userReplace codex with claude, gemini, or cursor. The first command previews the destination; the second copies the complete skill directory.
- User guide
- Custom parameter reference
- Glyphs MCP automation
- Behavioral specification
- Release test checklist
- Release process
- Changelog
- Contributing
- Tracked test fixture
The configuration, geometry, and interaction core imports neither Glyphs nor AppKit, so the deterministic suite runs with standard Python:
python3 -m unittest discover -v
python3 -m compileall -q IconGrid.glyphsReporter tests scripts
python3 scripts/validate.py IconGrid.glyphsReporter --target both
python3 scripts/package.pyRun the unit, compile, static bundle, dual-target, packaging, and site-build checks locally before publishing. Live UI behavior is covered separately by the release checklist. The tracked fixture at tests/fixtures/IconGrid-Test.glyphs contains the /lightbulb artwork and two masters used by the documentation and manual tests.
GlyphsIconGrid is licensed under Apache-2.0. The official GlyphsSDK reporter template and universal wrapper are attributed in NOTICE. MasterGrid is acknowledged as prior inspiration; GlyphsIconGrid’s parameter contract, configuration resolution, geometry, rendering, and tests were independently written.