The short version
In 1899 an American cryptanalyst named Elizabeth Wells Gallup said she had found a hidden message inside the First Folio of Shakespeare — not in the words, but in the shapes of the letters. Two slightly different italic typefaces, alternating, spelling out a binary code devised by Sir Francis Bacon.
Almost everyone has considered this as nonsense for a century. Almost nobody has measured it. That is the whole of what this project does.
Questions
What is the biliteral cipher?
Sir Francis Bacon described it in 1623. Every letter of the alphabet becomes a group of five symbols, each symbol either an a or a b — binary code, three centuries before binary code. A is aaaaa, B is aaaab, and so on.
The trick is that the two symbols need not be letters at all. They can be two founts of type so similar that a reader notices nothing. Print an innocent passage in an alternating mixture of the two, and the shapes of the letters carry a second message underneath the first.
So what is actually being tested here?
Not whether Bacon wrote Shakespeare. Something much narrower and much more answerable: is the italic type on these pages one fount, or two?
That is a question about metal, ink and paper, settled in 1623. It has a definite answer, the photographs are free and public, and anybody with the same images can check the working or overturn it.
It is also the necessary condition. If there is only one fount, the whole claim dies where no amount of argument can reach it. If there are two, nothing about Bacon follows — but a fact about the book would be established that nobody currently knows.
What happened today?
A working pipeline turned up that had been written earlier and then lost on a disorganised drive. It measures every lowercase w in the Prologue and calls each one a or b without being told the answer.
There are sixteen such letters. The pipeline isolated fifteen of them and refused the sixteenth, saying it could not separate that letter from its neighbours on the page. Refusing is the right behaviour; a classifier that always produces an answer is not measuring anything.
Those fifteen calls were then compared with the marking Riverbank published in 1916. All fifteen match.
Fifteen out of fifteen — isn't that conclusive?
No, and for a reason that matters more than the number.
Riverbank's marking is the only record of which w is which. So the comparison shows that a measurement of the page reproduces Riverbank's own judgement. It does not show that either one is correct. If Gallup and her students consistently saw a difference that was not there, a machine agreeing with them would prove only that the illusion was consistent.
What would settle it is the opposite test: run the same measurement on ordinary text that nobody claims carries a cipher. If that also splits neatly in two, the split means nothing. That test has not been run yet. It is next.
Yesterday you said it was about a loop. Today you say height. Which is it?
This is the honest problem with today's result, and it is worth stating plainly rather than letting a sceptic find it.
The 1916 manual describes the difference as shape: the a-form w ends open, the b-form has its final stroke closed into a small loop. That is what was checked yesterday at the two places the manual points to, and it was visible at both.
The pipeline recovered today does not measure that at all. It measures height — whether the letter rises above the height of an ordinary lowercase letter. Those are two different questions that happen to have produced the same answer fifteen times.
They may well be the same thing seen twice: a stroke that curls up and closes is also a stroke that is taller. But that is a guess until it is demonstrated, and until then the project has been describing one criterion while quoting a result produced by another.
A second correction belongs here. Yesterday's account said the a-form has no enclosed hole. Measurement says otherwise — both forms enclose one. The a-form's is a small angular gap where the strokes cross; the b-form's is a large round bowl. So the distinction is the shape and relative size of the hole, not whether a hole exists. "Count the holes" was too simple.
Isn't this just checking Gallup's homework against Gallup's answers?
Partly, and that limit is stated above. But two things are not borrowed from her.
The photographs are the Bodleian Library's, made for entirely unrelated reasons. And the measurement is a number in pixels, which has no opinion about Bacon.
There is also something the measurement showed that no one told it. The two groups of letters do not merely fall on either side of a line — they fall in two separate clusters with an empty gap between them, and nothing sits near the boundary. That is a property of the page, not of the rule used to read it. Wherever the line had been drawn inside that gap, the answer would have been the same.
What would change your mind?
Written down in advance, and unchanged by today:
- If ordinary text from elsewhere in the book — pages nobody claims carry a cipher — splits just as cleanly, the method is manufacturing structure and every result here is worthless. This is now the decisive test.
- If the two clusters vanish once every w on the page is included rather than the sixteen that carry the message, the result was an artefact of which letters were chosen.
- If the height rule and the loop rule turn out to disagree on the wider sample, at most one of them can be what the manual meant.
A negative gets published in the same terms as a positive. That was decided before any data was looked at, and it is the whole difference between an audit and an advocacy.
Who is doing this and why?
Walter Wilkinson, Worland, Wyoming. The overall project encompasses Orville Owen's Word Cipher; this is its sister strand.
The reason it has merit is that the question has stayed arguable for 127 years purely because nobody measured it — and until about six years ago, nobody easily could. The photographs went online free. The statistical machinery got built for another purpose entirely. Both halves now exist, and no one had put them together.
The wider project lives at New Gorhambury, which collects the sources, the experiments and the Word Cipher work. Experiment One is this report's direct ancestor — Friedman's 1916 decoding of this same Prologue, redone in Python on these same Bodleian scans. Worth knowing before you read it: that page argues a conclusion. These reports deliberately do not. The difference is the point of publishing them daily.
External documents
Every source relied on, with what it is and where the original lives. All are free and public.
Technical colophon
Everything below is reproducible from public data and was produced on 3 September 2026. No images were downloaded, nothing is hosted, and the measurement it reports runs in a browser tab.
Provenance of today's result
The pipeline was not written today. It was written on 3 September at 03:56 and then mislaid on an external drive holding some fifty unsorted files at its top level — the residue of an emergency move off a full system disk. It surfaced during a reorganisation of that drive and was recomputed from scratch against the corrected transcription.
This is worth recording because it is the ordinary way small research projects lose results, and because the recovered files carry their own timestamps: the classification predates today's comparison, so the comparison could not have influenced it.
pipeline_tei.py TEI -> letter identity and case pipeline_align.py dynamic-programming alignment, glyph components to characters pipeline_harvest.py isolation, measurement, form call w_final.csv 16 rows, one per lowercase w w_final.json same, with the page x-height that was used contact_sheet.png every glyph, cropped, for visual audit page_overlay.jpg every call drawn back onto the page
The transcription, repaired
The reference marking is Riverbank's own worksheet, transcribed as v21. It carried a dropped character: the printed grid reads Setsa | llonh | azard where the transcription had Honh — four characters where there should be five. Every glyph after that point was displaced by one in any analysis run on the concatenated stream.
Repaired, the grid reconciles exactly: 214 groups × 5 = 1,070 glyphs, with the surplus re bringing the total to 1,072, which is the letter count of the page. All figures below use the repaired file.
The comparison
Sixteen lowercase w occur in the message-bearing text. The pipeline isolated fifteen. Reading order:
| # | line | word | measured | Riverbank 1916 | agree |
|---|---|---|---|---|---|
| 1 | 4 | with | a | a | yes |
| 2 | 5 | wore | a | a | yes |
| 3 | 6 | Crownets | a | a | yes |
| 4 | 7 | toward | b | b | yes |
| 5 | 7 | vow | b | b | yes |
| 6 | 8 | within | b | b | yes |
| 7 | 8 | whose | a | a | yes |
| 8 | 10 | wanton | a | a | yes |
| 9 | 12 | deepe-drawing | b | b | yes |
| 10 | 13 | warlike | b | b | yes |
| 11 | 13 | now | a | a | yes |
| 12 | 17 | with | b | b | yes |
| 13 | 20 | Now | b | b | yes |
| 14 | 28 | away, | b | b | yes |
| 15 | 29 | what | a | a | yes |
| 16 | 31 | Now | declined | a | — |
Riverbank 1916 a a a b b b a a b b a b b b a a measured a a a b b b a a b b a b b b a · ( · = not isolated ) agreement 15 / 15
The sixteenth was refused by the isolation step, which reported that the word could not be separated on the page. It was excluded before any comparison was made, on a mechanical criterion, not after seeing that it disagreed.
The rule as actually run
This is the part that does not match yesterday's account, and the discrepancy is the most important thing in this issue.
XH = median glyph height over all glyphs 30..58 px (page-derived, not set by hand)
form = b if H > 1.10 * XH
a otherwise
A metric rule — height above the x-height line. The Keys describe a topological one — final element open against final element closed into a loop. Yesterday's issue led with the topological criterion and verified it by eye at the two exemplars the manual names. Today's number comes from the metric one.
Separation, and why the constant is not doing the work
A single free parameter appears in the rule — the multiplier 1.10. If the result depended on it, the result would be worthless. It does not:
a-form heights 43 45 45 45 45 46 48 tallest a = 48 px ("what")
b-form heights 54 57 57 57 57 58 58 59 shortest b = 54 px ("toward")
empty gap 6 px = 12.5% of glyph height
The two populations are separated by an empty band with nothing in it. Any threshold placed anywhere in (48, 54] px reproduces exactly the same fifteen calls. The 1.10 is free; the bimodality is in the page.
This is a stronger observation than the agreement figure, because it owes nothing to Riverbank. Two clusters with a clean gap is a statement about the type on the leaf. Whether the gap corresponds to two founts, or to something duller — two positions in a single case, sorts of differing wear, a compositor's habit — is not settled by it.
What the fifteen is worth
Under a fair-coin null, fifteen matched calls give p = 1/2¹⁵ = 3.05 × 10⁻⁵. Three cautions belong with that number and outweigh it.
- The comparison is not against ground truth. v21 is Riverbank's marking. Agreement measures reproduction of a 1916 human judgement, not correctness.
- A fair coin is probably the wrong null. It assumes w-form is independent of everything else on the page. If form correlates with line position, word frequency, or neighbouring sorts, the true null is not 1/2 per glyph and the p-value is optimistic.
- Blindness is not demonstrable. Nothing in the recovered files records whether the 1.10 multiplier and the isolation criteria were fixed before the operator had seen v21. Treat this as unconfirmed rather than pre-registered.
Corrections to the record
Second correction, carried over from the FAQ: both forms of the w enclose a counter. The a-form's is a small angular gap at the stroke crossing, roughly 19% of the glyph area; the b-form's is a large round bowl. Yesterday's "count the holes" formulation was wrong. The feature is counter shape and relative area.
Next, and in this order
- The roman-dialogue negative control — the same measurement on text nobody claims is enciphered. It must return a single population. If it returns two, everything above is an artefact.
- Every w on the leaf, not only the sixteen that carry the message, to test whether the gap survives a sample that was not selected by the claim.
- Reconcile the height rule against the loop rule on that full sample.
Publication
The site moved today from a placeholder domain to baconian-ciphers.online, and this series was renamed the One-Day Report. Every internal link is relative, so the move touched exactly one file.
hosting GitHub Pages, branch main, served from the repository root
build none — hand-written HTML, no framework, no generator, no pipeline
DNS Namecheap BasicDNS
A @ 185.199.108.153 / .109.153 / .110.153 / .111.153
CNAME www fb-decipherer.github.io.
TLS Let's Encrypt, issued and renewed automatically by GitHub
tracking none — no analytics, no cookies, no third-party scripts
fonts Source Serif 4 + IBM Plex Mono, Google Fonts
cost one domain registration a year, and nothing else
Total infrastructure cost is about a dollar a year. That is deliberate: nothing here depends on a service that can withdraw it, raise a price, or fold. An issue published today should still resolve at the same URL in twenty years, and the cheapest way to promise that is to depend on almost nothing.
Standards this series holds itself to
- Predictions and falsifiers are written down before the data is looked at.
- Only open, re-fetchable data. No privileged access, no unique artefact.
- A determinate procedure. The 1916 method depends on "the practised eye"; that is precisely what cannot be audited.
- Necessary-condition framing stated with every result: two founts is not a message.
- Negative controls must return null. A pipeline that finds structure everywhere has found nothing.
- The null gets published in the same terms as a positive.
- Where the work cuts against the claim, it is said here first.