Legibility is whether single characters can be told apart
Aliases: character discrimination · letter recognition · confusion pairs
What it is
Take I, l, and 1 out on their own and ask “which is this?” — that question is legibility. Its object is the character, not the paragraph; its pass or fail is discrimination, not speed. Short labels, plates, one-time codes, dose on a bottle, a letter next to a UI icon, all die at this layer first: two drawings collapse into one shape at the target size and distance, and reading efficiency never gets a turn.
Legibility is often paraphrased as “is this type clean.” Clean is an impression; discrimination is the definition. A decorative face can be clean and still fuse rn into m.
Why it happens
A character is identified by the features that cut it from its neighbours: aperture direction, counter size, a serif hook or not, whether a particular Han stroke sticks out. Once those features subtend too small an angle, or crowding, blur, or hairline strokes eat them, two characters enter one confusion class. The stable Latin classes are Il1|, O0Q, rn/m, c/e; Han, 「口日目」「未末」「己已巳」「土士」「人入八」。Legibility work is whether those classes split, under a given size, distance, lighting, and family.
It is a short, local process. Materials can be single characters, random strings, or letters lifted out of words — just not continuous, predictable sentences, which let context fill in what was not seen, so the measure becomes guessing rather than discrimination.
Crowding can fail legibility even when the character splits in isolation: neighbours steal features. Experiments therefore have to say whether the character was shown alone or flanked. UI labels are often both small and packed against an icon, so both pressures sit on them at once.
Studying it
The classic is a confusion matrix: present characters at controlled distance and size, forced choice, tally who was taken for whom. Independents: face, size, weight, contrast, flanks or not, visual angle. Dependents: accuracy, which pairs impersonate each other, latency. Tinker split legibility from whole-page reading: the first used identification of letters and figures, the second used paragraph speed — that split is where the terms come from.
An interface variant: flash or time-limit the short strings the product actually shows (model numbers, codes, amounts) on the target device, rather than reading the foundry’s alphabet. Foundry specimens are usually isolated display letters and overestimate legibility.
Where it stops holding
Continuous reading can mask a legibility fail: context reads rn as m and the sentence is still understood, speed maybe only a little down; labels, serials, and drug names have no context to patch with, so the fail is hard. Very low contrast, glare, and motion blur kill features first and look like a bad face when they are viewing conditions. Readers who already know a word-shape (a brand name) can recognise it even when single-character legibility is poor — that is memory, not this face. Passing legibility also does not guarantee a long text can be lived in. That is the next layer.
Applying it
- Any string without sentence context (serials, doses, codes, single-letter shortcuts) gets its own confusion-pair check. “Body still reads fine” is not a substitute.
- Put specimens at real size, real distance, real ground, with neighbours (icons, other letters). Do not read an isolated 72-point alphabet.
- When digits and letters sit side by side, avoid faces whose
0/Oand1/l/Iare close, or use a slashed zero, a seriffed I, a tailed 1. - List every confusion pair in the product’s short strings and read them time-limited at the smallest rung. Errors clustered in one class are a legibility miss, not a measure or leading problem.