Cell set below readable size
A cell whose font is set to a sub-readable point size occupies the grid but shows a reader nothing, while its text extracts at full length.
How the text is hidden
The font size is <sz val="…"/> in points, on the <font> that the cell's cellXfs entry names — or, where that entry supplies none, on the font of the named style it inherits from through xfId. Set low enough, the glyphs render as a smear or nothing at all, at any zoom. The cell's value is unaffected.
Why a model still reads it
Point size is a style-sheet property, held apart from the text and applied only at draw time. Extraction reads the value or shared-string index and returns the characters at full length.
What we do about it
readStyles reads <sz val> for each font — before the colour lookup's early exit, so a sized font with no colour is not skipped — and falls back to the named style's font independently of the colour fallback. cellReason compares the resolved size against limits.subReadableMaxFontSizePt, read from the rule pack, and returns the invisible reason sub-readable. The rule xlsx-sub-readable reports it as xlsx.tiny-font at severity medium, action flag. visibilityOf grades sub-readable as never. A shared test pins every format that has this check to the pack's published threshold, XLSX included, so a retune moves them together.
How often it fires
0% of 200 real workbooks from five national open-data portals (CA, IE, DE, GR, UK), measured 2026-08-21.
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.
Check your own file
Three commands: a key, credit, a verdict.
Start with the API