ANSI GLYPH LAB
THE DISCOVERY FIELD
Try erasing a required pixel, increasing the preferred-pixel tolerance, or relaxing a shape rule.
Preparing the glyph field
Choose a primary font and pixel size. The editor adopts img2irc’s natural cell dimensions. Bundled fallbacks resolve missing characters in the same order as img2irc: Cascadia Code, Iosevka Fixed, Unifont, Unifont Upper. Load a monospace TTF, OTF, or font collection to explore your own font.
Pixel constraints: amber prefers ink; blue prefers empty. These contribute equally to the error score. Green requires ink and red forbids it; any violation rejects the glyph, regardless of tolerance. Unpainted cells have no effect.
Connected edges: requires an ink path reaching the actual outermost row or column of both selected edges, inside the same connected component. Choose four-neighbor or eight-neighbor connectivity. Multiple connections are combined with AND. Coverage limits help separate thin strokes from large filled shapes.
Clean boundary: tests every offset of a horizontal, vertical, or cell-diagonal straight cut in either polarity. Error is the fraction of all cell pixels on the wrong side. Both regions and both sides of the cut must contain pixels. Thin strips qualify; use ink coverage to filter their size. The rule rejects solid and empty glyphs.
Font size changes: sketches are resampled to the new cell. Collected marks retain the bitmap and size at which they were found. Browser fallbacks use bundled fonts; system fontconfig fallbacks are unavailable in WASM.
Shortcuts: 1–4 brushes, 0 unconstrained, Ctrl/⌘ Z undo, Ctrl/⌘ Shift Z redo. On the focused canvas: arrows move, Space paints. Right-drag erases; Shift-drag draws a line. Collections export as an img2irc glyph set that you can paste into glyphs.toml.
All rendering and searches run locally. Uploaded fonts stay in memory. Font licenses: Cascadia · Iosevka · Unifont.