What produced it
Which of the seven explanations comes closest to the manuscript on the measurements? There are 23 measurements. A measurement is one thing measured on the text, such as the average length of its words. An imitation is text a computer program writes the way an explanation says the text was written. We scored an imitation of each explanation. The closest is a procedure carried out by hand with dice and numbered tables of words. Its tables hold 18,000 entries. With those tables it matches 21 of 23. No other explanation's imitation comes as close. So a procedure is the best guess, not confirmed. The page ‘The search for a smaller procedure’ gives the reasons.
The last group of tests asks what process could have made the text. To answer it, this examination built each surviving explanation as a generator, which is a computer procedure that writes text of the same size by the rules of that explanation. The tests then ask whether the generated text matches the measurements of the real one. A final set of tests looks in the text and on the page for traces of the order in which the words were written.
Generative models against the full battery
No generator reproduces all of the measurements, and the table below shows where each one fails. The comparison works like this. This examination built a generator for each family of explanation. Where a generator had adjustable settings, called parameters, the tests fitted them to the text, which means they tuned them until the generator's output matched chosen statistics of the real text. Each generator then wrote text of the same size into the manuscript's own skeleton, which is its layout of pages and lines. The tests scored the output on a fixed battery of 23 statistics, a battery being a set of measurements applied in the same way to every text. The statistics cover how unpredictable the glyphs are, the spread of word lengths and the shape of the vocabulary. Shape here means two things: Zipf's law, under which a few words are common and most are rare, and the hapax share, which is the share of words that occur only once. They also cover how much one word tells about the next, how alike neighbouring words are, how often words repeat, and the special glyphs at the starts and ends of lines. The last three are how far a glyph's position inside the word predicts it, page burstiness and edit-neighbour density. Page burstiness is the tendency of a word to come back on the page where it has just appeared, and edit-neighbour density is the share of word types that are one edit away from a commoner word. Because a generator can be tuned to match a statistic, the battery records for every generator which statistics it was fitted to and which it predicts. A predicted statistic is one the generator was not tuned to, so a match there is a real test, and that is why the prediction score is the one that matters. Twenty-four generators from six families were run with five seeds each, and since a seed is the starting point of the random numbers, five seeds are five independent runs. The table groups the generators by family, and the slot template appears twice, once in a form where the slots are chosen independently and once in a form where each slot depends on the last. The table also keeps, as a calibration case, a word-level Markov chain, which copies from the text the odds of one word following another. That generator is fitted to the very statistics under test, and it is kept to show what such fitting looks like.
| Family | What it does | Where it fails | Verdict |
|---|---|---|---|
| Natural language under a letter cipher (Latin and Italian, in plain, vowel-less, verbose and vowel-less + verbose forms) | Text of a real language with its letters relettered, dropped or expanded | The glyphs are too unpredictable: 3.1–3.3 bits (verbose 2.35–2.43) against 2.11 in the text. The end of a word is too hard to predict: 0.16–0.30 against 0.76. Edit-neighbour density is at most 0.52 against 0.76. The deviations are 10 to 50 confidence-interval widths | ruled out, high |
| Independent slot template | Each word assembled from the text's own slot inventories, with the slots chosen independently | Too random inside the word (2.64 bits), and the word lengths vary too much (standard deviation 2.5 against 1.8) | ruled out, high |
| Slot template with dependencies between slots | A Markov chain over sub-word units, so each unit is chosen from the odds of what followed the last one | Reproduces every within-word statistic. Produces too few once-only words (0.45 against 0.68) and nothing beyond the word: no clustering within lines, no line-edge effects, no word order | ruled out as a complete model, high |
| Closed-inventory category code (a tree of classes, each word a path) | A fixed set of codes drawn with Zipf-like frequencies | Cannot produce an open vocabulary. Its hapax share is at most 0.34 against 0.68, while the real text produces a new word type every seven tokens, as Latin does | ruled out, high |
| Word-by-word copying with edits ("autocopy") | Each new word made by copying a recent word and changing it at random. The odds of copying from each distance back (the distance kernel) were fitted to the text | Matches neighbour similarity and part of page burstiness. But the fitted kernel is flat, with no preference for the word just written, the edits break the word grammar, and no copying scheme produces any word-order information (≤ 0.014 bits against 0.113) | ruled out in the forms tested, moderate-high |
| Line- or page-restricted vocabulary without copying | Each line or page draws from a random subset of the lexicon | Reproduces neighbour similarity as well as copying does, which shows that the similarity is a clustering effect. But it collapses the once-only share to 0.43 and has no word order | ruled out, moderate-high |
| Word-level codebook of a natural text (Latin, Italian, Finnish, and an assignment that preserves similarity) | Each plaintext word replaced by a fixed Voynich word | Inherits the vocabulary without the context: adjacent words are no more similar than random ones (1.00 against 0.95), immediate repeats are near zero, there are no line-edge effects, and the word-order information is 2.5 to 4 times too high | ruled out as tested, moderate-high; a homophonic codebook (several Voynich words for one plaintext word) over a source that repeats words within lines was not testable |
| Word-level Markov chain fitted to the text (calibration) | Memorises which word followed which in the text | "Matches" 15 of 23 statistics because it was built from them, fails both of its genuine predictions and overshoots the word order sevenfold, which makes it the warning case for fitting the statistics under test | calibration only |
No generator reproduces the battery. It scored twenty-four generators from six families, of which the figure below shows five and the classifier test further on (a classifier being a program that learns to tell real pages from generated ones) pools seven. The best generator apart from the calibration case, a word model that spells each word from runs of four glyphs, lands inside the confidence interval on 13 of 23 statistics. The dependent-slot template lands on 10, which is the count the figure below shows. The confidence interval is the range a statistic wanders over when the text is split into random halves of pages. A generator is within tolerance on a statistic when its value falls inside that range. Even those best models miss their genuine predictions by five to six interval widths on average, so no family survives as a whole. What survives is a list of properties that any explanation has to produce together:
- A tight grammar of units inside the word. Generators that build words from units reproduce it, and nothing built on the spelling of a real language does.
- An open vocabulary with a Zipf shape, which keeps producing new word types at the rate Latin does. Loose unit-grammar generators and natural language reproduce it, but no closed inventory does.
- Diffuse clustering of similar words within lines and pages, with no preference for the word just written. The excess similarity is +0.043 at distance one, +0.053 at two, +0.040 at four, and +0.052 for the word at the same position in the line above, which is why the clustering counts as diffuse. Lines that contain several copies of a word fully account for immediate repeats such as qokedy qokedy qokedy: 287 adjacent repeats were observed against 285 expected from rearranging each line's own words. What is far above chance is that a quarter of all lines contain a repeated word at all.
- Weak but real word-order information. Once the computation removes the bias of small samples and the special make-up of line edges, adjacent words share 0.113 to 0.116 bits, by two independent computations in this examination (the 0.11 quoted elsewhere is that figure rounded). That figure is zero for every non-linguistic generator, including the copying models fitted to it. It is at the very bottom of the natural-language range (Latin hexameter 0.117, Latin prose 0.30, English prose up to 1.15). Part of even this small signal may come from where the spaces fall, because the most over-represented word pairs, s aiin (57 against 10 expected), or aiin and o l, look like single words split by a space.
- Strong glyph effects at the line edges. No generator produces them unless they are written in as tables of glyphs for each position.
The word-order figure is the measurement that separates the two remaining kinds of explanation, because generation by independent draws or by copying gives no word-order information at all, while natural text gives 0.12 to 1.15 bits. The manuscript lies at the lower edge of the natural range, and that is an observation which does not decide between the two.
The same competition, held out. When each generator is scored on text it was not fitted to, none comes close to the manuscript. The reason for scoring that way is that fitting and scoring on the same text flatters a generator with free parameters, because the generator can be tuned to the very statistics it is scored on. So the competition was run again as a held-out test, with the scoring fixed in advance. Each generator was fitted on one random half of the quires, a quire being a gathering of folded sheets bound together, and the fitting used only the code and the targets of that half. The generator was then run into the skeleton of the other half and scored there on 27 statistics. Those are the 23 of the battery plus four more: the two repetition counts, the first-glyph gain and the within-page recurrence measured within scribe and regime (a regime being one of Currier's two writing styles, A or B). The first-glyph gain is how much the first glyph of a word tells about the rest of it. The score gives each miss in units of the between-quire jackknife error of the full text, which is how much a statistic moves when one quire at a time is left out. The tests repeated the whole procedure over five random halves, with the astronomical and biological quires always on opposite sides, and the ranking is stable across the five splits (rank correlation 0.95). To find the floor (the distance between the text's own two halves) that quire-to-quire variation sets, the tests also used the training half, the half the generators were fitted on, as a model of the held-out half. That model misses the 27 statistics by 1.3 units on average and lands 22 of them within 2 units, and that is the floor.
The best generators are the drifting-state generator with pair memory and the page-and-line vocabulary generator. The next section describes the drifting-state generator, whose pair memory is a one-parameter memory for two-word sequences. Both miss by 2.6 units on average, twice the floor, with 12 and 14 statistics within 2 units, and they are not separated from each other. The drift generator is ahead in four splits of five, by 0.01 to 0.19 units, while the vocabulary generator has more statistics within 2 units in four of five. Behind them the plain slot template and the word-level Markov chain follow at 3.1 and 3.2. The glyph-level Markov imitation is at 3.6, the autocopy generator at 4.1, and the codebook and the category code at 4.5 and 4.6. One control (a text of known origin run through the same test) puts those figures in proportion. It keeps the held-out vocabulary and scrambles the glyphs inside each word type, and it scores 3.4, which is better than the glyph imitation and three of the generators. So the word-level layer of the text on its own is worth as much as the best generator reaches on the whole battery. Held out, the word-level Markov chain replays its training text: it produces 1,780 repeated four-word sequences and 3,016 repeated 30-glyph strings, against 0.8 and 0 in the held-out text. The codebook, in the same way, keeps the repeats of its Latin source (40 and 41). On held-out quires the drifting-state generator with pair memory reproduces the adjacent-word information (0.086 against 0.096 bits, the text's own value on those held-out quires). It also reproduces the page burstiness, the within-page recurrence, the adjacent repeat rate and the line-final glyph effect, but it misses three statistics by more than 3 units in every split. The once-only share of word types is 0.52 against 0.68, which counts as a miss of 31 units because the between-quire error of that share is only 0.005. The spread of word lengths has a standard deviation of 1.94 against 1.77, a miss of 7 units, and the share of adjacent words one edit apart is 0.025 against 0.037, also 7 units. Every template-built generator shares the first and the third of those misses. The three remain unexplained by the production account: the open growth of the vocabulary, the tightness of the length distribution and the rate of near-copies at distance one.
The fit is the best the family can do. The generators' shortfall does not come from poor fitting. That possibility had to be checked, because a generator fitted one statistic at a time may end up far from the best setting its family allows. So a global search tuned the eleven parameters of the drifting-state generator together against all 23 statistics: its nine rates, the pair memory and the section base, which fixes which word families belong to each illustration section. The search method was differential evolution (Storn and Price 1997), which keeps a population of settings and breeds better ones from the best. It used one half of the quires for fitting and the other for scoring, and it made 2,370 evaluations across four families, with three seeds per point and five seeds at the end. As a check on the search, it was first run on a control target that the family had generated from known parameters. There it reaches an objective, the misfit it tries to minimise, lower than the true parameters' own, and it recovers the inclusion probabilities, which set the share of word families in use, within one grid step. It leaves the drift rates, which set how fast the set in use changes, unidentified, so the battery constrains some parameters of the family and not others. On the text the search leaves the generator at 14 to 15 of 23 statistics within tolerance out of sample. For comparison, the fitted point scored the same way reaches 14, and the text's own other half reaches 17, which is the ceiling that quire-to-quire variation allows. The statistics missed are the same at every setting: the once-only share of word types (25 half-widths short), the forms of line-initial words (11) and exact adjacent repeats (5). The generator also misses the information at line ends (4 to 5) and the head of the frequency distribution (4 to 5). Four additions to the same generator, for 22 parameters in all, do not improve on its best point either. They are the chunk-copy kernel (the copying rule of the autocopy family), slot dependence, a frequency exponent and glyph edits. Even the chunk-copy family on its own reaches at most 12 of 23, and it does so by nearly switching its copying off. The shortfall, then, belongs to the generator families.
How sure the battery is. The generators' failure holds under four checks on how the battery is scored. One check concerns the tolerance, which is a confidence interval from page half-samples of the text. Applied to each generator's own output, it is the right size for a generator with no state that persists across pages, since it is 1.05 times the seed-to-seed spread of the slot generator. But it understates the spread of the drifting-state generator by a factor of 2.3, because that generator's pages vary as the text's pages do. Scored against its own seed spread instead, the drifting-state generator without the pair memory lands within two widths on 6 of the 23 statistics instead of 3, and within three widths on 17 instead of 10. With both spreads combined the counts are 8 and 20, the counts for the slot and codebook generators move by at most 3, and the ranking is unchanged. Another check is a joint test, which replaces the count of single statistics. It uses 50 seeds of each generator and a shrinkage covariance (Ledoit and Wolf 2004), which is a stable estimate of how the statistics vary together. In that test the text's 23 statistics lie outside every generator's cloud of seeds at the smallest attainable p of 0.02. Here p is the chance of a result this extreme if the text did belong to the cloud. The drifting-state generator lies at 16 times the largest distance of its own seeds, and the others at 280 to 1,700 times. The result holds on the default transcription and again on Takahashi's. Held-out seeds of the drift generator pass the same test at p of 0.02 to 0.96, so the test rejects nothing that belongs to a cloud. A further check applies a family-wise threshold across the 23 statistics (Westfall and Young 1993), which allows for the number of statistics tested at the same time. It raises the critical value from 1.96 to 3.16 and reduces the drift generator's misfits from 20 to 15.
Last, the page-and-line skeleton the generators are poured into is the manuscript's own, so one further check asks whether that borrowing affects the scores. A skeleton fitted to the page and paragraph structure instead reproduces the distributions of line lengths, with a Kolmogorov-Smirnov distance, the largest gap between two cumulative distributions, of 0.01 to 0.04 in words per line. It leaves the drift generator's battery result almost where it was, with 5 statistics within tolerance against 3, and only the burstiness statistic moves by more than one tolerance. So the borrowed skeleton is not what makes the generators score as they do.
Twenty-three statistics against five generators
Each cell gives how far the generator's mean output lies from the text, in half-widths of the text's tolerance interval. That interval comes from page half-samples of the text. The colour is capped at ten half-widths. Tinted cells with a dot are within tolerance. A ring marks a statistic the generator was fitted to or copies from the text.
A classifier as the general test. A classifier can tell every generator's pages from the manuscript's pages. The battery tests 23 statistics one at a time, but the general form of the question is whether a generator's pages can be told apart from the text's pages at all, and a classifier answers that. It is a program that learns from labelled pages, using everything a page offers, and then makes its guesses on pages it has not seen. This examination trained one to tell the manuscript's pages from a generator's pages, on 118 features computed page by page, and tested it only on quires it had not seen. The classifier separates every generator: its held-out accuracy is 0.88 to 1.00, against chance at 0.50 and a label-permutation null that never exceeds 0.66. The label-permutation null is the accuracy reached when the page labels are shuffled, so it is what a classifier reaches on nothing. When the seven generators of this classifier test are pooled the accuracy is 0.90. The two nearest generators are the word-level Markov chain (0.88 to 0.93 over three generator seeds) and the drifting-state generator (0.88 to 0.94), which is the same order the battery gives. Part of what the classifier reads is a short list of known omissions. The share of paragraph-initial words that begin with a gallows, one of the tall glyphs, is 0.83 in the text and 0.04 to 0.28 in every generator. Line-final words end in m at a rate of 0.14 against 0.02 to 0.05, and a word's similarity to its neighbours and to the word above is 0.76 against 0.80 to 0.81. The rest of what it reads is the page as a whole, where a real page has a lower glyph entropy (entropy being the bits of surprise per glyph) than any generated page. For single glyphs it is 3.76 against 3.83 to 3.86 bits, and for a glyph given the last one 1.82 against 1.93 to 2.13. The reason is that a generator fitted to the whole text produces the average page every time. The manuscript's pages, on the other hand, differ from one another by regime (Currier's A or B writing style), by hand (which scribe wrote the page) and by section. Their spread is 1.2 to 1.9 times what any generator produces.
The gap does not rest on a few statistics. To show that, the tests removed the ten most useful features, ranked without the test pages. The boosted trees, a classifier built from many small decision trees, still reach 0.85 to 0.87 against the two nearest generators and 0.84 against the pool. With sixty of the 118 features removed they reach 0.79 to 0.86, while the linear classifier, which weighs each feature and adds them up, falls towards the null level. So what remains is spread over many weak features and the interactions between them. Against the five nearest languages the same classifier is at 1.00, and it reads entirely different features there: the glyph frequencies, the eight-slot word grammar and the conditional glyph entropy. The word grammar accepts 0.98 of the text's tokens and 0.23 to 0.56 of a language's. None of the fifteen features that separate the text from the generators is among those that separate it from the languages. So the text is on the same side of the language divide as the generators, and a classifier can still tell it from every generator on a held-out page. Two controls show what the pipeline does with known cases: it separates Latin from its own Markov imitation, a meaningless text made from Latin's letter-to-letter odds, at 0.99. It gives 0.52 for the text's pages under arbitrary labels. None of this settles what the leftover difference is made of. The documented regimes, hands and section vocabularies could produce a page-to-page spread of this size, and a generator with a page-level state of the right strength has not been built.
The best case for a natural-language original. Even the most favourable real-language composites fail most of the battery. The composites combine the three things that bring a real text closest to the manuscript: the list genres, the languages with small alphabets and the codes that lower predictability. Each was run through the battery in the page skeleton. The sources were list-like Latin (Pliny, the glossaries, the rolls) and the Polynesian scriptures. The codes were fixed verbose codes, which write each letter as several signs, consonantal codes, which drop the vowels, and Greshko's Naibbe cipher, which encodes Latin by drawing cards. The best composite, Pliny through the Naibbe cipher, passes 6 of the 23 statistics (6, 5 and 6 over three seeds), namely letter predictability, the top-100 share, the word-bigram entropy and three word-edge entropies. For comparison the best generator passes 13 and the calibration chain 15. The Pliny composite fails the once-used share (0.41 against 0.68), the adjacent near-copies, the line-initial and line-final effects and the page burstiness. Caesar through the same cipher also passes 6, so the list source adds nothing. Every fixed verbose or consonantal code of a list-like Latin source passes at most 2 of 23 and keeps 13 to 56 repeated four-word sequences. The same fixed code applied to Maori lowers predictability to 1.86 bits, below the text, but it keeps 2,300 to 2,900 repeated four-word sequences. Even the union of the best statistics over all seventeen composites covers only 11 of 23. None matches the single-glyph entropy, the spread and shape of word lengths, the Zipf slope, the near-copy statistics or the line-edge effects. The Markov imitations pass 0 to 4 and the shuffles pass none.
Two mechanical devices from the literature. Neither published device reproduces the text in the numbers. Rugg (2004) proposed that the text was produced with a table of syllables and a Cardan grille, which is a card with cut-out windows moved across the table. Rugg and Taylor (2017) went on to propose that such a device reproduces the text's statistical features. To test that, a grille generator with cells drawn from the text's own syllable inventories was run in 168 configurations with five seeds each. The trouble with a grille is that it reads only cells near its last position, and that locality produces either verbatim repetition or nothing. With a systematic step the word sequence cycles through the table, giving 4,925 repeated within-line four-word sequences and 31,671 repeated 30-glyph strings, against 1 and 0 in the text. With random steps of one to three rows the repeats fall to 33 and 14, but the word-order signal vanishes with them (0.027 bits against 0.113, and nothing at the word boundary against 0.179). The similarity of adjacent words is gone as well. No configuration approaches the glyph predictability (2.64 bits, 23 standard deviations off), the positional information anchored at the end of the word, or the line-edge effect, which are the failures of every independent-slot generator. The best configuration is within three standard errors on 3 of the 23 statistics, where the dependent-slot template reaches 15 and the drifting-state generator 11 to 12. Three standard errors is a wider tolerance than the confidence interval of the generator table above, on which the same template reaches 10. So the qualitative claim holds, in that a grille makes Voynich-like words, but the quantitative claim does not, and the page-level variation that renewing the table produces can be had without any grille. Zandbergen (2021) proposed instead a set of rotating wheels, each carrying word fragments, whose products form the vocabulary. A three-wheel product of 24 fragments per wheel generates 70% of the text's word tokens (running words) but only 21% of its types (distinct words), and with 48 per wheel the figures are 81 and 32%. To cover 90% of the tokens takes 558 distinct cores, and 95% takes 2,200, beyond any wheel. The difficulty is that the real vocabulary grows without a ceiling. Its Heaps slope, which measures how fast new words keep arriving as the text grows, rises from 0.74 to 0.78 on the second half, as in Latin. Every wheel device, by contrast, saturates (0.27 to 0.63), and its share of once-used words collapses (0.15 to 0.53 against 0.68). Independent rotation of the wheels gives no word order and no page structure, and a random walk on the wheels gives page burstiness of the wrong shape. A bounded product vocabulary is therefore ruled out in the forms tested, and the open vocabulary is the direct measurement against it.
Earlier work. Working generators for this text go back to Rugg (2004), who put forward the table and grille. Timm and Schinner (2020) then put forward the self-citation algorithm, in which each new word is copied with changes from a word already on the page. This examination rebuilt both, and the results qualify both. Rugg's grille, rebuilt with cells drawn from the text's own syllable inventories and scored on the full battery, reproduces the qualitative claims of Rugg (2004) and Rugg and Taylor (2017). Only the abstracts of those two papers could be consulted. The grille gives no quantitative account, because with a systematic step it produces thousands of repeated four-word sequences where the text has one, and with a randomised step it loses the word-order signal altogether. This examination also measured the wheel device described in Zandbergen's (2021) grille paper, for which no statistics were published, and it fails the open vocabulary by sixteen to fifty-seven confidence-interval half-widths. The nested category code and the rank-matched codebook have not been run as generators for this text before. The section on other kinds of text compares the human, occult, ciphertext and symbol-system reference classes with the generators. Greshko (2025) ran the Naibbe cipher on seven prose plaintexts, Pliny among them, against the word-level metrics of Gaskell and Bowern, and reported its failures on long-range and positional statistics. The composites above extend that comparison: they cross the most favourable plaintexts with fixed and Naibbe encodings in the page skeleton, under the 23-statistic battery. The battery's tolerance is a subsampling interval of the kind Politis and Romano (1994) introduced, which the statistical literature has validated by theory or on a known process. What has not been done for this text before is to treat each generator as the known process and set the interval against the generator's own seed spread. Rozanova and Temerev's preprint and the unreviewed Voynich Metric Battery of Ventura and Bosco (2026) report a text-side interval and a seed spread separately. Three unreviewed 2026 repositories placed the text in a Mahalanobis region of generator seeds with a regularised covariance, which is a region drawn with a distance that allows for how the statistics vary together. Ventura and Bosco did so on six metrics with at least 30 seeds, Yoshida on three statistics with 32 seeds, and Walsh in a whitened re-analysis of generator families. Added here are the leave-one-seed-out reference, the checks on held-out seeds and the second transliteration. The energy-distance test between generator clouds (Székely and Rizzo 2004), which asks whether two clouds of points come from the same distribution, has no earlier application to this text either. As for the skeleton, Timm and Schinner's generator fixes line lengths by a character count, while Rozanova and Temerev's controls, and the borrowed skeleton here, copy the manuscript's own line template. Gaskell and Bowern wrote their meaningless samples into page layouts by hand, and a page-and-paragraph model fitted to the text, and its effect on a generator's score, have no precedent found.
A generator with a slowly drifting state
One slowly changing hidden state reproduces the way words recur across the page and the leaf, and it does so without meaning. The need for such a state arises because every generator in the table above has no memory beyond a few lines, whereas the text does. Word types recur above chance across the whole page and on the other side of the leaf, at the strength found in natural language, and the illustration sections have their own vocabularies. The question was whether one hidden state, changing slowly as the pages go by, produces all of that without meaning. The generator built for the test keeps the word template and the line tables of the generators above, and it adds a state. The state has a base stock of word families for each scribe and a page-scale set of families in current use, which changes slowly within a page and faster at page and section boundaries. It also has a line-scale set, redrawn almost every line, and the generator has a small chance of re-using a word just written. This examination fitted nine parameters to the recurrence profile, which is how often words recur at each distance, and to the adjacent-word statistics, so everything else the generator produces is a prediction. It was run with five seeds and scored on the 23-statistic battery and on every other statistic in this report.
A drifting-state procedure, as the best guess
Four schematic pages show a stock of word families slowly replaced, one template for every word, rules for the line and the page, and a fresh start at a section boundary.
The generator was fitted to the clustering layer, and it matches that layer at every distance. The comparison holds scribe and regime fixed, a regime being Currier's A or B writing style. At six distances, from the neighbouring line to the other side of the leaf, the text's words recur 2.88, 2.24, 1.70, 1.51, 1.06 and 0.96 times as often as chance. The generator gives 2.78, 1.89, 1.66, 1.35, 0.97 and 0.99. No generator in the table above does this, because the page-vocabulary template stops at the page and the copying generator stops at three lines. Three things the generator was not fitted to come out right as well. Frequent and rare words are equally bursty (1.69 against 1.68 in the generator, and 1.43 against 1.65 in the text). Variants of a word one edit apart share contexts (6.1% against a 1.7% baseline in the generator, and 8.6% against 2.0% in the text). There is also no information between words at distances of two or three, exactly as measured. What the generator does not produce is the word-order signal: adjacent words in its output share no information at all, where the text's adjacent words share 0.11 bits. Adding one parameter changes that. The parameter is a verbatim memory for two-word sequences, called on at about one position in twelve, and with it the generator reproduces the word-order signal. It also predicts the held-out bigram gain, which is how much a word-pair model gains on text it has not seen, at 0.02 bits against the measured 0.05, within its interval. It still predicts nothing at distance two or three. The drift does not produce the section vocabularies either, since the section effect is 1.8 against the measured 2.9. Resets at section boundaries do not make the sections differ, and a persistent section component strong enough to do so weakens the structure of the scribal hands below what is measured. The open vocabulary, the first-glyph effects at line edges and the finer statistics inside the word are misses inherited from the template, as in every earlier model.
Consistent for the clustering layer (high confidence, five seeds, all tolerances stated). A meaningless state produces the recurrence at every scale, the same recurrence that the tests in the section on whether the text carries content had found at the strength of natural language. That state has a half-life of a few pages inside a page and of one line inside a line, the half-life being the time over which half of the set in use is replaced. Ruled out as the source of the word-order signal, because the state gives none, and as the source of the section vocabularies, because resets give none. Both of those, then, are sharper separators between explanations than the generators in the table above made them. What this leaves for the best guess about the procedure is the template, the drifting state, a memory for some two-word sequences and the line-edge rules. It also leaves a section component that has not yet been matched together with the hand structure.
Earlier work. Timm and Schinner (2020) built the generator that produces clustering by copying from nearby words, and the slot-based models in Parisel's 2026 preprints imply generators that fix a vocabulary per page or per line. Montemurro and Zanette (2013) established the page-scale and section-scale structure that such a generator has to reproduce, as did Zandbergen's page cluster analyses and the topic models of Sterneck, Polish and Bowern in their 2021 preprint. This examination makes the clustering a latent state, that is, a hidden state, with fitted timescales. It fits only the clustering statistics and reports everything else as a prediction on statistics the generator was not fitted to. No latent-state generator for this text was found in the literature, so the model is an adaptation of published generator practice and does not form a new family. Its interest lies in where it fails. It reproduces the whole recurrence profile, which Timm and Schinner's local copying cannot reach beyond three lines. But it produces neither the word-order information nor the section vocabularies, and that makes both of those sharper separators than any earlier generator comparison made them.
The order of production, from the text and from the page
The tests found no trace, in the order of the vocabulary, of a process that ran as the scribe wrote, but the page does show one, in that the line ends are fitted to the space available. If the text was generated word by word as the scribe went, the process could have left three kinds of trace. The first is a genealogy. Take two words that are one edit apart, meaning one glyph changed, added or removed. If the text grew as it was written, the commoner form should tend to appear before its variant in the order of the codex, and a variant should also be born near an instance of its parent. Neither happens in the text. Over 24,864 such pairs the commoner form comes first in 76.4% of cases, against 79.0% under a permutation of page order, meaning the pages shuffled at random. So the text is below chance, and Latin, Italian, German and English poured into the same pages give the same result, while within one hand or one quire the figure is at chance. A variant's first occurrence is within a line of its parent in 6.0% of cases and its later occurrences are in 6.5%, so the birth of a variant is not special. The same code does catch an artificial text whose vocabulary really does evolve as it is written, at 5.0 standard deviations on the ordering test and with 25% birth adjacency against 7% later. So the test has power, which means it can find the effect when the effect is there. A forward genealogy in 4 percent of the one-edit pairs would have been detected at 80 percent power.
The second trace is fit to space, because a writer composing at the desk fits the end of each line to the margin, and a copyist following a word-by-word rule does not. The tests measured the space left at the line end on the scans of the 15 pages with a free right margin. In all, 974 line ends on 42 pages passed the alignment gate, which is the check that a transcribed line matches its place on the scan. The median space left at the line end is 0.56 of a glyph, against 1.05 to 1.10 for a simulated copyist filling the same lines with the same words. In the text, 62.7% of lines end within one glyph of the margin, against 45% in the simulation, and 13 of 15 pages are tighter than their simulation. The line-final words are also shorter, 4.81 letters against 4.94 to 5.12, and the biological pages show the same. On the herbal pages the drawings cut the lines, and the fit is measured against the drawing instead, below. The third trace is the physical structure of the book. The two leaves of one sheet share slightly more vocabulary than leaves the same distance apart on different sheets, by 0.011 over 24 pairs, and nine of the 24 pairs go the other way. The 13 hand-1 pairs give 0.006, the 7 hand-2 pairs 0.016 and the 4 hand-3 pairs 0.018. The pair f108 and f111, the centre pair of quire T, adjacent among the surviving leaves and three apart by folio number, gives 0.036 against the eight same-distance pairs it is matched with, the largest pool of any row. The largest differences are on other sheets: f50 and f55 at 0.066 and f51 and f54 at 0.065, each against two matched pairs, and f78 and f81 at 0.037 against six. Contiguous Latin prose in the same page skeleton shares as much. The six places where the ink darkness changes at page scale, likewise, coincide with shifts in vocabulary no more often than chance.
Undecided: generation while writing is not ruled out, and it is only weakly supported. The positive signals are all on the page. The line ends are fitted to the margin, and on the herbal pages to the drawings, and that fit is made by the choice of a shorter word, with the spacing playing no part in it. The first word after a drawing is shaped like the first word of a line, and the text has one suspected correction per 9,000 letters. But a copyist who shortened the last word to fit, and who made a fair copy (a clean copy) from a draft, would leave the same signatures, which is why the support is weak. On the other side, every test for a trace of the process in the order of the vocabulary is null, and the positive controls for those tests work. That fits a stock of words and word families that does not change along the codex. Such a stock could have been produced at the desk from a table or copied from a text with these properties. A writer who invented his vocabulary as he went, at the strength of the artificial control, would have been caught.
Where the pen restarts after a drawing. The rule for the start of a line applies again wherever the pen restarts after a drawing, but the rule for the end of a line does not. On the herbal pages a stem or a leaf interrupts the line, the writing resumes on its far side, and the word written after the pen crossed the drawing starts like the first word of a line. On the hand-1 herbal pages the divergence of its first glyphs from those of interior words is 0.130 bits, where it is 0.017 at ordinary word boundaries of the same lines and 0.166 at true line starts. The association between the glyphs on either side of the crossing keeps a fifth of its within-line value (0.018 against 0.091 bits), whereas a Markov imitation poured into the same layout keeps 0.09 of its 0.12. The line-final habits, on the other hand, do not cross with the drawing: the word before a drawing ends in m or g 2.9 percent of the time, against 13 percent at true line ends. So the line-initial rule is partly spatial, applied wherever the pen restarts on the page, and the line-final rule belongs to the written line. The drawings also show the fit to space. Hand 1 fits its lines to the drawings as tightly as hands 2 and 3 fit theirs to the margin. Over 749 wide segments on 86 pages, the median space left before a stem or a leaf is 0.8 glyph, where a copyist who breaks before the word that does not fit would leave 2.7. Half the segments end within one glyph of the drawing, against a fifth for the copyist. A bifolium is a sheet folded once to give two leaves, and 31 of 43 bifolia are tighter than the copyist rule by more than half a glyph, 9 are within half a glyph of it and 3 are looser. The hand-5 herbal pages and the hand-2 biological pages give the same, 0.17 and 0.28 against 2.61 and 2.78. The hand-2 herbal pages give 0.97 against 2.59 on 20 pages, with an interval from -2.22 to +0.23 that includes zero. On four hand-1 pages where jars and roots stand beside short lines there is no fit, 2.61 against 2.79. The medians fit and the means do not: the hand-1 mean is 3.45 against the copyist's 2.95, because some segments end far from a drawing that was not the writer's constraint. The fit is made by the word, and the spacing has no part in it. The last word before a drawing is 5 percent narrower on the page and 0.4 letters shorter. The gaps between words do narrow by 11 percent towards the line end, but they do not track the space that is left (rank correlation 0.05). A writer choosing a shorter word at the edge and a copyist shortening the last word to fit would both leave that signature, and a copyist who broke a fixed text wherever it fell would not. The same fit shows in the transcription alone, because the number of words on a line depends on the words on it. The mean word length explains 5 percent of the variance of the word count, that is, of how much the count changes from line to line. For Latin or the drift generator poured into the same lines it explains only 0.4 to 0.9 percent. But that pour gives each line the manuscript's own number of words whatever the words are, so a poured text has no such dependence by construction and cannot fail this test. Its low figure is the floor of the statistic, and it says nothing about what a real text written to fit these widths would do. A control that could fail would fill each line to the manuscript's own width, and that pour has not been run. The line's vocabulary explains a further 3.4 percent, against a within-page null of 2.0 ± 0.5 (p 0.01 on two seeds). Lines with longer words hold fewer words, which is what fitting words to a width produces and pouring words into a fixed skeleton cannot.
Ink, layout and corrections. The ink shows where the pen was refilled, the layout is freehand, and corrections are almost absent. The darkness of the ink at line resolution falls into runs: consecutive lines share their darkness (autocorrelation 0.44, where zero would mean no link between one line and the next). Three quarters of the 177 pages with at least eight measured lines show this individually beyond chance. Half the pages contain a level shift, a jump in the average darkness, at p below 0.01, where a permuted page contains one in sixty. On the 37 aligned pages, the pages among the 42 above whose line-by-line darkness could be matched to the transcription, 5 of the 12 line-level shifts fall on the first line of a paragraph, against 1.7 expected (p 0.02). So the refilling of the pen is visible, and it tends to happen at paragraph starts. The hue of the ink is autocorrelated too (0.67), but that follows the lighting of the scans and is not read. The recto faces, the fronts of the leaves, appear lighter in the scans than the verso faces, the backs, on 64 percent of leaves. That difference comes from the imaging. Under Gregory's rule (1885), hair side faces hair side and flesh side faces flesh side through a gathering, so a difference that came from the skin would alternate leaf by leaf. This one does not, and the ink index, likewise, does not depend on the side (p 0.80). The layout is freehand: the spacing between lines varies by about 10 percent from line to line at full resolution, and baselines drift by half a degree within a line (0.9 degrees in hand 1, the first of the five scribal hands). No hand sets up the page differently from another, and the quire has only a weak effect on the width and position of the text block (p 0.03 to 0.04). Ruling, the guide lines drawn before writing, and pricking, the holes made to place them, cannot be sought at this resolution.
The transcribers, who looked at every glyph, recorded 21 suspected corrections and 6 insertions in the 191,000 letters of the whole transcription, labels included. That is one correction per 9,000 letters, and the rate is the same in every hand (page-permutation p 0.52). Of the 21 corrections, 11 are on the first or last word of a line (p 0.02), where the transcribers' uncertain readings also cluster (239 of 652, p below 0.0001). A copyist leaves words supplied above the line and expunged letters, which are letters cancelled with dots beneath them, and both are nearly absent here. The rate is that of a fair copy, or of a procedure whose output admits no error. This census comes from the transcribers' record, with no image survey behind it, so 25 lines darker than their page remain candidates for retouching, which only a manual pass at full resolution could settle. At 1600 pixels the scans show ink that has passed through the leaf: all 12 leaves tested positive in sign, and 5 of 12 are above the level that randomly placed masks give. Set-off is ink transferred from a facing page. The two faces of a bifolium that meet when the sheet is folded show a darkening like set-off on 31 of 41 bifolia. They pass the null on 10 of 40 (one bifolium is left out of that count because its null has no spread), against 5 of 41 for faces that do not meet, a difference at p 0.12. If it held, that difference would help to order the writing of the sheets, but only full-resolution scans could settle it, and these scans cannot.
Earlier work. That the text was generated while it was written is the premise of Timm and Schinner's (2020) self-citation account, which makes new words from words already on the page and so predicts a genealogy in writing order. The codicological frame is Fagin Davis's (2020 and 2025), with five hands assigned bifolium by bifolium and bifolia possibly written before the quires were assembled. Two of the three tests here have no earlier application to this text. One is measuring, on the scans, the physical space left at the line end against a simulated copyist who fills the same lines with the same words. Earlier work, including Vogt (2012), had measured word length by position and described the right margin in qualitative terms. The other is comparing a page-level ink series with the drift of the vocabulary, where the published observations on the ink are qualitative or chemical. The genealogy and the ink series come out null, with working positive controls, which is evidence against a vocabulary that grew as the book was written and no evidence about where the vocabulary came from. The positive signals are on the page: the line ends are fitted to the margin and to the drawings by the choice of a shorter word. The line-initial rule applies again where the pen restarts after a drawing, and the correction rate is near zero. A copyist who shortened the last word and made a fair copy from a draft would leave the same traces. The behaviour of the text where a drawing interrupts a line was first measured on the voynich.ninja forum in 2019. That work measured word lengths and edge glyphs at image breaks against line edges, and the dependence of glyph pairs across the break. It is a precedent in the grey literature for the drawing-interruption test above, and this examination adds the edge index, the permutation nulls, the poured controls and the per-hand strata. Nill's examination of 1953, reported by D'Imperio (1978), found not a single erasure or correction, and the census above puts a rate and a null on that observation. Pelling read faint ink and paint transfers between facing leaves by eye as evidence about the original gathering. The set-off contrast above is the same idea as a measurement with a null, though at this resolution it does not decide. Vogt (2012) observed in the line-length distributions that a line holds many words only when short words fall on it. Steckley and Steckley (2024, a preprint) measured the selection of shorter words before drawings and at line edges, with tokens before drawings 7.5 percent shorter. Gaskell and Bowern (2022) measured it in meaningless text written into page layouts. The held-out decomposition of a line's word count into a fit-to-space term, a position term and a vocabulary term has no earlier application to this text. Nor does scoring it against controls poured into the same lines with a within-page permutation null.