{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/arxiv-2608-17096","title":"A Glyph Is Not a Letter, a Token Is Not a Word, a Space Is Not a Space: What the Units of Voynichese Are Not","arxiv_id":"2608.17096","date":"2026-08-17","proceeding":null,"authors":["Liudmila Rozanova","Alexander Temerev"],"abstract":"The Voynich manuscript (Beinecke MS 408) is usually analysed on three unstated assumptions: that its glyphs are letters, that the strings between blanks are words, and that every blank is a word space. We test all three against the Zandbergen-Landini transliteration with matched prose, cipher, and pseudo-text controls and quire-level resampling. None holds, and the failures share a shape: the order in Voynichese sits at the edges of tokens and at graded boundaries between them, not in the succession of tokens themselves. Glyph regularity is too strong for one-to-one substitution of any tested plaintext (conditional entropy 2.7 bits against about 3.5 for Latin, Italian, and English) and resolves instead onto a quire-stable scale of recurrent multi-symbol units. Tokens form a plausible vocabulary, yet the identity of one token predicts the next by under 1% of token entropy, below every matched control (2-10%), while the glyphs at token edges share 0.2 bits of mutual information, more than in any prose control. Blanks fall into two regimes: the separators transcribers marked uncertain behave like word-internal junctures, are physically narrower on the page (AUC 0.905 from independent image coordinates, with the same sign in a small blind ink audit), and are crossed by learned units even when every space is erased before learning. This profile is also what discriminates. A published Voynich-imitating cipher and a self-citation text generator both reproduce the low entropy, the unit scale, the weak token order, and the null result of a calibrated substitution attack; neither reproduces the edge-glyph coupling or the open, hapax-rich vocabulary (70% singleton types against 41% and 59-60%). Any account of the manuscript must therefore earn, rather than assume, the step from glyphs, tokens, and separators to letters, words, and word spaces, and these are the measurements on which to do so.","url_abs":"https://arxiv.org/abs/2608.17096","url_pdf":"https://arxiv.org/pdf/2608.17096","source":{"archive":null,"snapshot":"2025-07-28","note":"not in the Papers with Code archive (frozen at the snapshot)","row_kind":"graph","title_abstract_authors_date":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)"},"code_links":[],"tasks":[],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2608.17096","atlas_url":"https://app.syntology.ai/?focus=2608.17096","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2608.17096"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"mentioned_in_github":null,"is_official":null,"provenance":"deterministic:regex_extraction","mentioned_in_paper":null,"url":"https://github.com/lrozanova/voynich-units","reach":null}],"summary":{"ran":17,"unverified":5},"by_repo_kind":{"found_in_text":{"samples":22,"ran":17,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"7f5772d07b4007e9","entry":"analyse","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v5/e3_positional.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v5/e3_positional.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7f5772d07b4007e9"}},{"code_sha256_prefix":"f1b692478227265f","entry":"cipher_corpus","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v5/unit_probe.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v5/unit_probe.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f1b692478227265f"}},{"code_sha256_prefix":"c72b375a16593c32","entry":"clean_tokens","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack/plant_crib_attack.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack/plant_crib_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c72b375a16593c32"}},{"code_sha256_prefix":"76f2f87098d793b0","entry":"collapse","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack/plant_crib_attack.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack/plant_crib_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"76f2f87098d793b0"}},{"code_sha256_prefix":"26c68a7d492af502","entry":"encode","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"analysis/reproduce_edge_order.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/analysis/reproduce_edge_order.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"26c68a7d492af502"}},{"code_sha256_prefix":"867df5f41be3d61a","entry":"letters_of","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_lib.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"867df5f41be3d61a"}},{"code_sha256_prefix":"7808cd424c8ab1c1","entry":"load","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"analysis/reproduce_direct_pixel.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/analysis/reproduce_direct_pixel.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"7808cd424c8ab1c1"}},{"code_sha256_prefix":"ddd4f02f747a004c","entry":"make_groups","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v5/unit_probe.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v5/unit_probe.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ddd4f02f747a004c"}},{"code_sha256_prefix":"153fe745afb82bb7","entry":"make_tables","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/validate_synthetics.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/validate_synthetics.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"153fe745afb82bb7"}},{"code_sha256_prefix":"c3a7486ffada34bd","entry":"mi_pairs","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v5/e3_positional.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v5/e3_positional.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"c3a7486ffada34bd"}},{"code_sha256_prefix":"32a427ccbf878402","entry":"ngram_generate","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_voynich.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_voynich.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"32a427ccbf878402"}},{"code_sha256_prefix":"3df2e006b5064bf5","entry":"novowels","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_lib.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_lib.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"3df2e006b5064bf5"}},{"code_sha256_prefix":"65ecd940edbeb392","entry":"parse_seeds","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/run_differentials.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/run_differentials.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"65ecd940edbeb392"}},{"code_sha256_prefix":"a3702afc073aca63","entry":"posbin","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v5/e3_positional.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v5/e3_positional.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"a3702afc073aca63"}},{"code_sha256_prefix":"4006ba10aa08b1eb","entry":"stratum_breaks","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"analysis/reproduce_dialect_linestart.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/analysis/reproduce_dialect_linestart.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"4006ba10aa08b1eb"}},{"code_sha256_prefix":"2a32d559f8eac93e","entry":"strip_markup","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack/plant_crib_attack.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack/plant_crib_attack.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"2a32d559f8eac93e"}},{"code_sha256_prefix":"f28bbf89c484810d","entry":"to_lines","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v5/unit_probe.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v5/unit_probe.py","link_basis":"first_harvest_node","language":"python","status":"ran","verification_level":1,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":true,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"f28bbf89c484810d"}},{"code_sha256_prefix":"ee646622f5fa679a","entry":"build_lms","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_lib.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/attack_lib.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"ee646622f5fa679a"}},{"code_sha256_prefix":"62b4c796898682d8","entry":"encipher","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"voynich_decipherment_repro_bundle/decipherment_attack_v6/validate_synthetics.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/voynich_decipherment_repro_bundle/decipherment_attack_v6/validate_synthetics.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"62b4c796898682d8"}},{"code_sha256_prefix":"16f65573a1092dd7","entry":"load_results","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"analysis/reproduce_cipher_calibration.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/analysis/reproduce_cipher_calibration.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"16f65573a1092dd7"}},{"code_sha256_prefix":"fe2817e0b555ef71","entry":"load_voynich_both","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"analysis/reproduce_edge_order.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/analysis/reproduce_edge_order.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"fe2817e0b555ef71"}},{"code_sha256_prefix":"6c76184ecd8fcc26","entry":"stratum_lines","repo":"lrozanova/voynich-units","repo_kind":"found_in_text","path":"analysis/reproduce_dialect_linestart.py","file_url":"https://github.com/lrozanova/voynich-units/blob/HEAD/analysis/reproduce_dialect_linestart.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"6c76184ecd8fcc26"}}]},"arxiv_metadata":{"licence":"arXiv metadata, CC0 1.0 (https://info.arxiv.org/help/license)","fields":["title","abstract","authors","date"],"primary_category":"cs.CL","source":"arxiv_2026.jsonl"},"syntology_extracted_results":{"kind":"leaderboard_placements","source":"Syntology's leaderboard-shaped extractor over the paper's own arXiv-HTML tables: a model pointed at a cell, the number was read from that cell and checked against the board's metric, dataset, split and scale, and an independent check accepted the entry; not reviewed by the paper's authors or the archive's editors","extractor_model":"global.anthropic.claude-sonnet-4-5-20250929-v1:0","verifier_model":null,"prompt_sha":"fa63d4bb9d755694","coverage":{"sentence":"Syntology has checked 6,885 of the 9,623 papers on this site that are newer than the archive; results from the others appear after they are checked.","papers_newer_than_archive":9623,"papers_checked":6885},"entries":[],"not_placed":{"boards":0,"rejected_by_independent_check":0,"refused_by_a_rule":0,"check_did_not_answer":0,"proposed_without_a_cell":0,"declined_by_site":0}}}