glyphs
Naming pattern used to detect glyph content assets (e.g. icon glyphs). A library fact, declared in config/conventions.yaml: every consumer reading the same library must declare the same pattern — a wrong or missing one leaves icon assets undetected. Absence means the library has no glyph naming convention, and no glyph detection is performed.
Configuration
figma: glyphs: match: 'DS Icon Glyph / {i}'Result
When the pattern matches, the layer is typed as a glyph in the anatomy and its matched name is captured as the element’s content. From the DS Alert output, the decorativeIcon glyph carries the resolved icon name:
{ "anatomy": { "decorativeIcon": { "type": "glyph" } }, "default": { "elements": { "decorativeIcon": { "styles": { "width": 20, "height": 20, "fillColor": { "$token": "DS Color/Alert/Info/Element", "$type": "color" } }, "content": "info" } } }}Without a glyphs block, the layer is treated as an ordinary element and no content glyph name is extracted.
Options
- Type: block with a single
matchstring - Default: absent (no glyph convention)
- Effect: When declared, layers whose names match the pattern are detected as glyph assets. When absent, glyph detection is skipped entirely.
The match pattern must include the {i} placeholder, which marks where the glyph name appears in the component name. Internally {i} becomes a (.+) capture group and the matched text is used as the glyph’s content value. See Icon Glyphs for the full pattern syntax.
Path
figma.glyphs.match in config/conventions.yaml
Legacy name: in the pre-split specs.config.yaml, this option was the scalar config.processing.glyphNamePattern. That file is no longer read — specs migrate config converts it, moving that member to figma.glyphs.match.