Skip to content
§9.6.3

Cell Text Fidelity

The page and OCR disagree—which should the parser trust?

✅ NormativeSettled. The requirement holds as written.📄 Page ruleCan be applied from the page alone.Read §9.6.3 in the RFC ↗

The requirement

The text of a cell MUST be what the rendered page shows — not the text layer, not OCR, and not what the value ought to be. A character that cannot be read at any zoom MUST be written as [illegible], never as a plausible guess.

When it applies

The text layer and the rendered image disagree at the character level far more often than expected, and the cost of a single wrong digit depends entirely on who reads the table. The text layer is a hint about roughly what is there; the image decides.

Reading the examples. Each one pairs a source page with the output the rule expects. ✅ Sample: the rule applies. ❌ Counter-sample: it looks like it applies and does not, or a rendering got it wrong. A non-conforming output, in red, is shown only for contrast. … marks content left out of an excerpt.

Three cells that were read wrong

In each of these the transcription and the OCR agreed with each other — and a zoomed view of the page proved both wrong:

Sketch of the printed page — layout, not output
printed 0.99        → transcribed 0.98      (Age-to-Ultimate factor)
printed 2012.5-(A)  → transcribed 2013.5-(A)
printed 1.0400^(W)  → transcribed 1.04009^(W)

A disputed cell SHOULD be settled from a zoomed crop of the cell or from the word coordinates, and MUST NOT be settled by plausibility. "Plausible" is exactly what produced all three errors above: 0.98 is a perfectly reasonable factor.

01

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

A plausible value substituted for the printed one3samehead

The page prints 32031.9% for the 2004+ % of Premium cell; the non-conforming output records 10.9%. The wrong value is the believable one — exactly the failure this rule prevents. The section lines (Issue Year, Issue Age) are bands across the grid.

Source page
Cell Text Fidelity — A plausible value substituted for the printed one. Source page.
Expected output · excerpt
Count % of Count Premium % of Premium
Issue Year
1999 80 3.5% 217,072 3.2%
2000 316 13.7% 964,763 14.2%
2001 374 16.2% 1,091,387 16.0%
2002 733 31.8% 2,110,680 31.0%
2003 570 24.7% 1,695,230 24.9%
2004+ 234 10.1% 738,975 32031.9%
Total 2,307 100.0% 6,818,108 100.0%
Issue Age
<30 4 0.2% 4,451 0.1%
30-34 13 0.6% 17,301 0.3%
…
Non-conforming output

What the rule rules out.

Count % of Count Premium % of Premium
Issue Year
…
2003 570 24.7% 1,695,230 24.9%
2004+ 234 10.1% 738,975 10.9%
Total 2,307 100.0% 6,818,108 100.0%
Issue Age
<30 4 0.2% 4,451 0.1%
30-34 13 0.6% 17,301 0.3%
…
Cell Text Fidelity · Source page

A plausible value substituted for the printed one

Cell Text Fidelity — A plausible value substituted for the printed one. Source page.

What is printed is what is written

  • Typos stay. A word misspelled inside a cell MUST keep its misspelling.
  • Numbers are copied digit by digit, with thousands and decimal separators exactly as printed. See Accounting Number Formats (§9.6.1).
  • Wrapped codes are not fused with their neighbours. In a narrow column a code can wrap onto two lines, or two short codes can sit in neighbouring cells and look like one. The column boundaries and the cell's span decide: fusing B-2 with VC, or TR-1 with TR-2, is an error, and it also throws off the column count of the whole row.
  • A blank cell stays empty. A cell that prints nothing MUST be rendered empty; a dash MUST NOT be supplied because the column has dashes elsewhere.
02

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

The page prints 2.5 for the KVO shareholder TWh figure3cc

the non-conforming output records 25 — a dropped decimal point, silently. Renewable and Nuclear below it are indented one step; the total row is bold.

Source page
Cell Text Fidelity — The page prints 2.5 for the KVO shareholder TWh figure. Source page.
Expected output · table 2 of 3
Energy production Unit 2024
Renewable TWh 29.5
Non-renewable TWh 2.9
KVO shareholder TWh 2.5
Renewable TWh 0.4
Nuclear TWh 2.1
Total energy production TWh 34.8
Non-conforming output

What the rule rules out.

Energy production Unit 2024
…
Non-renewable TWh 2.9
KVO shareholder TWh 25
Renewable TWh 0.4
Nuclear TWh 2.1
Total energy production TWh 34.8
Cell Text Fidelity · Source page

The page prints 2.5 for the KVO shareholder TWh figure

Cell Text Fidelity — The page prints 2.5 for the KVO shareholder TWh figure. Source page.
03

❌ Counter-sampleLooks like it applies and does not — or a rendering got it wrong

The reverse errorentwick

in the Rückkauf eigener Anteile row the Eigene Anteile cell is printed blank, and the non-conforming output invents an em dash for it.

Source page
Cell Text Fidelity — The reverse error. Source page.
Expected output · excerpt
Grundkapital Kapitalrücklagen Gewinnrücklagen Sonstige Rücklagen Eigene Anteile Gesellschafter VAG Minderheitenanteile Gesamtkapital
1. Jänner 2005 218.100 1.074.778 2.816.854 172.965 -14.761 4.267.936 1.493.854 5.761.790
Unrealisierte Gewinne/Verluste (-)
aus der Bewertung von Wertpapieren:
Saldo Gewinn/Verlust (-) der Periode
vor Ertragssteuern
200.291 200.291 200.291
Ertragssteuern -50.009 -50.009 -50.009
Realisierte, im JÜ ausgewiesene
Gewinne (-)/Verluste vor Ertragssteuern
-77 -77 -77
Ertragssteuern 19 19 19
Rückkauf eigener Anteile 0
…
Non-conforming output

What the rule rules out.

Grundkapital Kapital-
rücklagen
Gewinn-
rücklagen
Sonstige
Rücklagen
Eigene Anteile Gesellschafter
VAG
Minderheiten-
anteile
Gesamtkapital
1. Jänner 2005 218.100 1.074.778 2.816.854 172.965 -14.761 4.267.936 1.493.854 5.761.790
Unrealisierte Gewinne/Verluste (-)
aus der Bewertung von Wertpapieren:
Saldo Gewinn/Verlust (-) der Periode
vor Ertragssteuern
200.291 200.291 200.291
Ertragssteuern -50.009 -50.009 -50.009
Realisierte, im JÜ ausgewiesene
Gewinne (-)/Verluste vor Ertragssteuern
-77 -77 -77
Ertragssteuern 19 19 19
Rückkauf eigener Anteile — 0
…
Cell Text Fidelity · Source page

The reverse error

Cell Text Fidelity — The reverse error. Source page.

Characters the image cannot tell apart

Some characters are visually identical and no zoom separates them: µ (U+00B5) and μ (U+03BC), a non-breaking space and an ordinary space, a minus sign and a hyphen.

  • The output MUST keep the visible form and the character count exactly as printed, and SHOULD use the character normally typed for that glyph.
  • The text layer MUST NOT be used to break the tie: it is a hint about the content, never the authority on it.
  • A consumer or checker MUST treat the members of each family below as equal, so the choice among them cannot make an output non-conforming.
Family Written as
µ (U+00B5) ≡ μ (U+03BC) either
non-breaking space ≡ ordinary space an ordinary space
minus sign (U+2212) ≡ hyphen-minus -
non-breaking hyphen ≡ hyphen-minus -
figure dash, en dash ≡ hyphen, inside a numeric range either

The image outranks every other source on what is printed. Where two codepoints are indistinguishable there is no fact about the page for it to be authoritative over — µ and μ are the same ink. The visible form is fidelity and stays exact; the codepoint underneath is a serialisation detail.

A dash that is doing something is not a homoglyph question. An em dash alone in a cell is a value — see Marks and Symbols in Cells (§9.6.6) — and a struck-through digit is not a character variant at all.

04

✅ SampleThe rule applies

a true minus sign

−742 and −2,710 are set with a true minus sign rather than a hyphen, beside — for nil. The minus sign is written as the hyphen-minus -; the em dashes stay em dashes. The header cells are genuinely merged across two rows and wrapped labels are joined; the Net Sales and Other Items bands are bold where the headings are not.

Source page
Cell Text Fidelity — a true minus sign. Source page.
Expected output
Reporting Segments Total Adjustments (Note 1) Amount Presented in Consolidated Statements of Income (Note 2)
Home Goods Wellness
Net Sales
(1) Sales to Outside Customers 712,884 198,240 911,124 — 911,124
(2) Inter-segment Sales and Transfers 722 20 742 -742 —
Total 713,606 198,260 911,866 -742 911,124
Income by Segment 58,240 19,905 78,145 -2,710 75,435
Segment Assets 744,610 288,904 1,033,514 1,802 1,035,316
Other Items
Depreciation 38,204 8,116 46,320 280 46,600
Investment in equity-method affiliates 26,415 — 26,415 — 26,415
Cell Text Fidelity · Source page

a true minus sign

Cell Text Fidelity — a true minus sign. Source page.

What else rests on the image

  • Duplicated Tables (§9.2.4) — the rendered page decides whether a repeated table is really printed twice.
  • Struck and Replaced Values (§9.6.7) — OCR silently joins a struck value to its replacement and produces a number that appears nowhere on the page. Only the image catches it.

Look-alike

Two similar pages that call for different decisions. Synthetic, for teaching the boundary.

A cell with no number in it. Is there a value, or nothing?

A

An em-dash alone

5-yr15-yr
Timber2.663.82
Real estate-0.87—
The convention

A value. Record the dash.

B

A genuinely blank cell

20052004
Ertragssteuern-50.009-50.009
Unrealisierte
The convention

Empty. Never supply a dash.

Look at the structure. What evidence changes the answer?

More

Rule id tables-cell-text-fidelity · tables fidelity ocr