lattice

logo

The mark is a letterform written as TeX. It is typeset, read as a relief, and drawn as a square grid of glyphs: the closer a cell falls to the middle of a stroke, the denser the glyph that lands on it.

import { logoSvg } from "@mariovagomarzal/lattice/logo";

const svg = logoSvg({ equation: "M", columns: 24 });
logoSvg

loading the typesetter…

equation
size0.80
columns42
solidity0.70
weight0.90
fill0.75
pitch
px
side
px
shape1.00
polarity
ink#e8e1cf
paper#151b17
accent#cf8542

Options

optiontypedefaultwhat it does
equationstring"M"The letterform, as TeX.
columnsnumber24Cells across the square grid.
pitchnumber24Distance between cell centers, in pixels. The mark's side is this times columns.
sizenumber0.82Share of the grid the equation fills, in [0, 1].
soliditynumber0.7How solid the strokes read, in [0, 1]. At 1 they are a flat plateau, at 0 they fall away to the contour.
weightnumber1Ink gain, as a gamma.
fillnumber0.53Share of its cell a glyph covers, in [0, 1]. At 1 the glyphs touch, at 0 there is nothing to draw.
alphabetreadonly string[]rampThe ramp the levels are quantized with, from empty to full ink.
typefaceTypeface | nullspaceMonoOutlines the glyphs are drawn with, or null to set them as text.
fontFamilystring"Space Mono, monospace"The mono family the glyphs are named as. Used only when typeface is null.
inkstringmeet.colors.textColor of the glyphs.
paperstring | nullmeet.colors.baseColor behind them, or null for none.
accentstring | nullmeet.colors.orangeColor of the densest glyphs, or null to keep the mark monochrome.
shapenumber0.5The outline the grid is cut to, from a circle at 0 to a square at 1.