A measurement chain that includes its own refusal

The Printer That Lies

The browser can command a millimetre. Only paper can say whether the printer delivered it. Print five positions in each direction, fit the lie, inspect what the fit cannot explain, then test the estimated correction on a second sheet.

Catch the ordinary lie

Move either scale below. One factor cannot repair both axes when carriage and paper feed disagree.

Before any claim

Current status: not measured. This page cannot vouch for a sheet it has not seen. Print at 100% or Actual Size, with Fit, Shrink, borderless expansion, and scaling disabled. Measure the shared 150 mm ruler first.

Refusal: no physical reading, no earned scale claim.

Fit the lie, then try to break the fit

The sheet places five crosses per axis. Measure from the named paper edge to each cross centre. Enter five comma-separated readings. The defaults are a worked, explicitly simulated example so the calculation is operable before you print.

Horizontal

Vertical

axisa, delivered / commandedb, edge offsetRMS residualmax residualapprox U, k≈2

Residuals by position

A finer mark is not a better truth

For a direct linear vernier, n vernier intervals nominally span n−1 ruler millimetres. Its nominal least count is 1/n mm. The printed 5, 10, and 20 patterns therefore display 0.2, 0.1, and 0.05 mm increments, not achieved accuracies.

5
0.20 mm
10
0.10 mm
20
0.05 mm
systematic ruler pitch, parallax, paper, and printer distortion do not shrink with n

If printer scale is a, the printed pitch is a(n−1)/n mm and the physical step against the ruler is 1−a(n−1)/n mm. It equals 1/n mm only when a=1. These three short combs may aid alignment, but cannot calibrate the printer that made them or establish an uncertainty-versus-division result.

The historical anchor is different: Pierre Vernier's 1631 movable sector put 30 intervals across 31 half-degree main divisions. Each sector interval was 31 arcminutes, one arcminute more than the 30 arcminute main interval. That is a numerical ancestor, not a claim that Vernier invented the caliper.

Error budget, stated before validation

The table's rough screening display uses only U = 2√[(δ/√3)² + (s/√q)² + RMS²]: ruler-step reading, a reader-supplied repeat-alignment SD over independent repeats, and fit RMS. Maximum residual is reported separately and is not added again. This is neither fitted-prediction uncertainty nor a certified confidence interval. It omits unknown ruler-pitch and other shared systematic errors, so it must not be read as absolute accuracy.

Likely dominant terms: ruler zero, alignment and parallax, unknown ruler pitch, non-affine printer distortion, paper moisture and feed drift. The calculation cannot remove their shared systematic parts. The 20 mm inset and validation bands are project choices, not universal printer limits or NIST limits.

Acceptance chosen here: corrected 100 mm bars within ±0.5 mm, the named left/top edge-to-cross positions within ±0.75 mm, and corrected bar error smaller than the adjacent uncorrected ghost. A second print, without changing printer, driver, paper, orientation, or quality, is mandatory.

Refusal: validation sheet is unavailable until a five-point fit passes the residual test.

What this model does not claim

Separate axis fits do not detect skew, shear, local warping, or cross-axis coupling. Five positions leave three residual degrees of freedom per axis, but a pass means only that departure from this axis-only affine model was not resolved above the stated reading and residual limits. Offset is relative to the named physical paper edges and includes loading, edge detection, driver, and ruler placement; it is not an internal printer offset. Scale is relative to the reader's uncertified ruler, and the experiment measures the combined browser, PDF, driver, printer, paper, and reading pipeline. Ordinary least squares treats commanded coordinates as exact and puts reading error in the observed coordinates. A clipped cross is a bound, not a reading. If any cross is clipped, stop. Calibration applies only to the exact printer, driver, paper, orientation, side, and quality settings used. CSS defines its units relative to one another, but that definition does not prove physical output size.

Sources and reproducible checks

Recompute the shown arithmetic with node research/printer-that-lies/verify-printer-that-lies.mjs.