Text below readable size

pptx.tiny-font

A run set small enough that no reader resolves it on a projected or printed slide.

How the text is hidden

The run's a:rPr carries sz, a font size in hundredths of a point. Setting it to a fraction of a point leaves the text laid out and painted in the ordinary flow — a hairline or a smudge where a sentence is. Nothing else about the run changes.

Why a model still reads it

Size never reaches the extracted string. The characters are ordinary <a:t> content and arrive at full weight in the text a model reads.

What we do about it

readRunSize reads sz from the run's own a:rPr and converts it to points. computeReason marks the run sub-readable when that size is at or below limits.subReadableMaxFontSizePt, read from the rule pack rather than written into the format. Severity medium, flagged rather than stripped, because small type is a rendering judgement rather than invisible by definition; visibilityOf maps sub-readable to never. The check runs after the notes, hidden-slide, prompt-text, off-slide, opacity and colour tests, so a run concealed in more than one way reports under the stronger evidence.

How often it fires

1.7% of 120 real Zenodo conference decks (corpus-zenodopptx as re-fetched 2026-08-23), measured 2026-08-24.

This is an alert-volume number and nothing else. It says how often the alarm sounds on documents as found — not how often it is right, and not whether what it found was harmless. Documents as found may themselves carry concealment. Read it against the population named above rather than as a property of documents in general.

next

Check your own file

Three commands: a key, credit, a verdict.

Start with the API