ψ me l n y ne ψ … far
i l c o n s i … che
ne = s · me = l · far = che · 48 = a name

Campo a Landriano → the grand maître · invented-sign substitution with numbered codes · 30 August 1528

Galeazzo Visconti to Montmorency from the camp at Landriano, 30 August 1528

Anne de Montmorency
toAnne de Montmorency

BnF Français 3034 f. 154r–v, no. 68 (DECODE R4223, catalogue item 177, “unknown sender”). Thirty-nine lines of cipher in Italian. George Lasry published a key for Visconti’s cipher in 2023, with no decipherment of this letter; it was applied here, extended on the letter and checked on two signed sibling letters. 93.3% of the cipher signs give sense; the numbered name codes stay open.

Daniel Bourdeau · posted · updated

Method: read with known key · Extent: partial (93% of the cipher)

Credits · George Lasry (key or decipherment used) · Satoshi Tomokiyo (identification)

At a glanceKnown key applied · partial (93% of the cipher)

The letter
Galeazzo Visconti to Anne de Montmorency, from the camp at Landriano, 30 August 1528: unsigned, two pages, cipher except the opening and close.
Where
Bibliotèque nationale de France, Français 3034, f. 154r–v (Gallica). DECODE R4223 lists it as “Non-decrypted”, sender unknown.
The cipher
Each letter is an invented sign, with homophones for vowels and a few signs for syllables, plus numbered code groups for names.
How it was read
Satoshi Tomokiyo’s cryptiana links the cipher to Visconti, and George Lasry’s 2023 key table gave the letters. The letter itself extended the table. The 39 lines were transcribed sign by sign from Gallica.
What it says
Visconti describes a council of war on whether the League army should march on Milan or Pavia. He argued for Milan and was interrupted; the army went for Pavia.
Still open
1,248 of 1,337 cipher signs give sense (93.3%). Of the 89 unread, 16 are name codes (48, 4θ, 4r, rr, qq, peu) with no key, the rest one-off signs and blots.
Credit
Key table: George Lasry; identification of the cipher: Satoshi Tomokiyo.

01 The letter and the key

Français 3034 is a volume of original letters to Montmorency. No. 68, f. 154, opens with three words in clear, Poco scritti le lre, then runs in cipher for thirty lines on the recto and nine on the verso. The close and date are in clear: pregando n[ost]ro S[ign]or Dio dona a V. S. bona e longa vitta. Da al Campo a Landriano ali XXX d’aust. Landriano, south of Milan, was the camp of the League army in the late summer of 1528, after the collapse of Lautrec’s expedition to Naples.

The first six cipher lines of f. 154r
f. 154r, lines 1–6: the clear Poco scritti le lre, then “Il consiglio de heri fu per tirare queli capitanei che erano lì a la opinione …”; line 5 ends with the code 48. Image: Bibliothèque nationale de France, fr. 3034 f. 154r, via Gallica (view 243).

The cipher replaces each letter with an invented sign. The signs include a tau for A, a round d for D, a bold k for R, a psi for I, a sign like ne for S and one like me for L, and a sign written like the word far for CHE. E has three forms and A two. Lasry’s table gave most of the letters. The letter added the values for ne, me, the small y (N, with a bent-arm form for B), θ (G), plain p (M), far and fu, and fixed q as H, or F in Francesco. It also showed that the long thin diagonal strokes under the lines are later word dividers, added by someone who worked on the letter. They are not parts of signs.

02 The decipherment

Final pass. [..] is a sign not deciphered, (?) a decipherment whose sense is not established, [48], [4θ], [4r], [peu] are code groups.

f. 154r

Poco scritti le lre. Il consiglio de heri fu per tirare queli capitanei che erano lì a la opinione che no fuse andase a Milano, perché era la mia(?) tuto causato comtagio. Scrito questo, s’è chiarito questa mane, ha esendo venuto il duca d’Urbino a casa de [48], per deliberare o a Milano o a Pavia. Ove erano asciilati(?) tuti li capitanei o nostri che [..] sono, molti, et a quesi de la Signoria che sono ascicsai pui(?). [qq] uolse(?) [48] che il duca d’Urbino tirase tuti li so[..] da uno canto et lui li lo[..] da uno altro, aciò dito ognuno sua opinione, lui do[..] deliberaseno [..]. E questa fu inventione de Francesco, dita in secreto ha queli de la Signoria, erano tropo, aciò che se vincese la opinione de andare a Milano. Rex. Il che [..] è [..] parso al duca d’Urbino providitore et maiore parte de loro dal canto nostro. Io era solito sempre esere chiamato il primo per aprire il camino ali altri, et questa volta ha comenciato a Francisco, poi ali altri pochi, poi a me [..] acuvante(?) se; dicese nula, [4θ] dise che ere da andare a Pavia. Io comenciai a dire quelo agio scrito de andare a Milano. Pensate che Francesco il primo a interompere, poi qualche uno altro che mi vergogno dirlo, [4r] sapendolo dissimulare. Rex: il fine mi lasoren[o](?) dire cum fatica, s[e] non(?) fisse. Si va a questo modo se harà uno pastone de mala digestione. Io vedo asai cose, ma che è in mia posa [..] a provederli; e sapiate che tuti li

f. 154v

nostri, dico tuti, comenciando al capori, [..] e ga[..] Dio ch’io scriva al [peu] et a vostra S. provedase da li che per me ie sono d[..]cuspaeo(?) n[..]ita(?) [..] celaro(?); però mai de dire il servicio dil [peu], e vaglia quanto potrà. Tuta volta certifico em(?) che havem [..] si ne [..] dito il duca d’Urbino providitore, et a io che se andarà per o s[..]u[..]o(?) a traversat[..] il camino tra Milano e Pavia, e don[..]de i ni spire[..]rà(?) poi il resto,

[clear] che ca fin de questa ma[teria], pregando n[ost]ro S[ign]or Dio dona a V. S. bona e longa vitta. Da al Campo a Landriano ali XXX d’aust.

In English

Visconti writes that the council held the day before was meant to bring the captains present round to the view that the army should not go to Milan. That morning the Duke of Urbino came to the lodging of [48] to decide between Milan and Pavia, with all the captains, many of them, and the officers of the Signoria of Venice. It was arranged that each should give his opinion in turn. This, he says, was a device of Francesco’s, whispered to the Venetian officers, so that the vote would go against Milan, and the Duke of Urbino, the proveditor and most of the captains came down against Milan. Visconti was usually called first, “to open the way for the others”. This time Francesco was called first, then a few others, then Visconti. [4θ] said the army should go to Pavia. When Visconti began to argue for Milan, as he had written, Francesco was the first to interrupt, then others he is ashamed to name, and in the end he was let speak only with difficulty. “If it goes on this way we shall have a stew of bad digestion.” He sees much and can do little to remedy it. He asks Montmorency to see to matters for all the captains, in the service of [peu], perhaps the King. The Duke of Urbino and the proveditor have said that the army will go to cut the road between Milan and Pavia, and he will write the rest later.

“Francesco” may be Francesco Maria Sforza, the League’s duke of Milan, who wanted Pavia. The letter does not say so.

03 Method

The two pages are Gallica views 243 and 244 of btv1b90600370. They were deskewed and cut into line strips at full resolution. The line centres drift by up to 90 pixels across the page, so each strip was placed by measurement. A first rough transcription of 1344 tokens showed at once that Lasry’s table gives Italian. Each line was then transcribed again sign by sign against the table, and every value the table lacked was fixed from words already deciphered. A second pass redid the verso and retried every open spot on the recto.

Two other Visconti letters in the same cipher were then opened: Visconti to Angelo Bolano, Alessandria, 15 October 1528 (fr. 3045 f. 28), and Visconti to Francis I, in campo in la pieve de Loccate, 15 June 1529 (fr. 3096 f. 91). The key decrypts both (“mal tratamento”, “che disperat-”). In both, the crossed sign appears in numeral pairs, 42 and 48, so it is the figure 4. The name groups of this letter are therefore numbered codes, and 48 appears in the letter to the King as well. The groups rr and qq also recur there as units. None of these codes has a value anywhere.

04 What remains

Full texts

The transcription and the decryption of every document on this page, so that the reading can be used and checked. Short files are shown here; all are in the repository.

BnF fr. 3034 f. 154r-v (R4223), Galeazzo Visconti to Anne de Montmorency, Campo a Landriano, 30 Aug 1528

Galeazzo Visconti to the grand master Montmorency from the League camp at Landriano: a council of war on whether the League army should march on Milan or Pavia; Visconti argued for Milan, but a scheme of Francesco's (Francesco Maria Sforza?), whispered to the Venetian officers, swung the vote, and the Duke of Urbino and the Venetian provveditore chose Pavia. 'A stew of bad digestion' if this goes on. tokens.txt is the measured glyph transcription (cipher.txt the superseded first pass); final.md the full reading.

Transcription

tokens.txt

# BnF fr. 3034 f.154r-v, Visconti to Montmorency, Landriano 30 Aug 1528. One line per MS cipher line.
# token=VALUE read as sense; token=VALUE? value read, sense open; token=? unread; token=[code] code group.
# Codes counted per written glyph: X8/ǂθ = 2, ǂr = 2, rr = 2, qq = 2, peu = 1, rex = 1. "far" counts as 1 glyph.
# Clear text not counted: "Poco scritti le lre" before r01 and the clear close after v09.
# Token names as in reading_r01-15.md, reading_r16-30.md and final.md (verso table).
r01 Y=I M=L l=C n=O y=N S=S YB=I 8=G M=L t=O D=D d=E q=H d=E k=R Y=I qF=F s=U n=O o=P d=E k=R a=T Y=I k=R 7=A k=R d=E
r02 Q=Q s=U d=E M=L Y=I l=C 7=A o=P Y=I a=T 7=A y=N d=E Y=I F=CHE d=E k=R 7=A y=N n=O M=L Y=I 7=A M=L 7=A n=O o=P Y=I y=N YB=I X=O y=N d=E F=CHE
r03 y=N n=O f=FU S=S d=E z=A y=N D=D z=A S=S d=E 7=A p=M Y=I YB=I M=L 7=A y=N n=O o=P d=E k=R F=CHE d=E k=R 7=A M=L 7=A p=M? Y=I? 7=A? a=T s=U a=T n=O
r04 L=C 7=A s=U S=S 7=A a=T n=O L=C n=O p=M a=T 7=A 8=G Y=I n=O S=S l=C k=R Y=I a=T n=O Q=Q s=U d=E S=S a=T n=O S=S d=E l=C q=H Y=I 7=A k=R Y=I a=T n=O Q=Q s=U d=E S=S
r05 a=T 7=A p=M 7=A y=N d=E q=H z=A d=E S=S d=E y=N D=D n=O s=V d=E y=N s=U a=T n=O Y=I M=L D=D s=U L=C A*=A D=D s=U k=R yb=B Y=I Y'=N n=O 7=A l=C LA=A S=S 7=A D=D d=E X8=[X8] X8=[X8]
r06 o=P d=E k=R D=D d=E M=L Y=I yb=B d=E k=R 7=A k=R d=E n=O 7=A Ym=M Y=I M=L 7=A y=N n=O t=O 7=A o=P 7=A s=V Y=I 7=A n=O s=V d=E d=E k=R 7=A y=N t=O
r07 7=A? S=S? L=C? YB=I? Y=I? M=L? 7=A? a=T? Y=I? a=T s=U a=T Y=I M=L Y=I l=C 7=A o=P Y=I a=T 7=A y=N d=E Y=I X=O y=N n=O S=S a=T k=R Y=I F=CHE ʃu=? S=S n=O y=N n=O
r08 p=M n=O M=L a=T Y=I d=E a=T 7=A Q=Q s=U d=E S=S Y=I D=D d=E M=L 7=A S=S Y=I 8=G y=N n=O k=R Y=I 7=A F=CHE S=S n=O y=N n=O 7=A S=S
r09 l=C? Y=I? l=C? S=S? 7=A? Y=I? o=P? s=U? Y=I? q=[qq] q=[qq] 5=V n=O M=L S=S d=E X8=[X8] X8=[X8] F=CHE Y=I M=L D=D s=U l=C 7=A D=D s=U k=R yb=B Y=I Y'=N t=O
r10 a=T Y=I k=R 7=A S=S d=E a=T s=U a=T Y=I M=L Y=I S=S n=O y=I? Y'=I? D=D 7=A s=U Y'=N n=O l=C 7=A y=N a=T n=O d=E A*=T M=L s=U Y=I M=L Y=I
r11 M=L n=O y=I? Y'=I? D=D 7=A 5=V y=N n=O 7=A M=L a=T k=R n=O 7=A l=C Y=I n=O D=D Y=I a=T n=O n=O 8=G y=N Y=I s=U y=N n=O S=S s=U 7=A n=O o=P Y=I y=N Y=I n=O y=N d=E
r12 M=L s=U Y=I D=D n=O y=I? Y'=I? D=D d=E M=L Y=I yb=B d=E k=R 7=A S=S d=E y=N n=O Y=? r=? d=E Q=Q s=U d=E S=S A*=A qF=F s=U n=O Y=I y=N s=V d=E
r13 y=N a=T Y=I n=O y=N d=E D=D d=E qF=F k=R 7=A y=N L=C d=E S=S L=C n=O D=D Y=I a=T 7=A Y=I y=N S=S d=E l=C k=R d=E a=T n=O q=H z=A Q=Q s=U d=E
r14 M=L Y=I D=D d=E M=L 7=A S=S Y=I 8=G y=N n=O k=R Y=I 7=A d=E k=R 7=A y=N n=O a=T k=R n=O o=P n=O 7=A l=C Y=I n=O F=CHE S=S d=E
r15 s=V Y=I y=N l=C d=E S=S d=E M=L 7=A n=O o=P Y=I y=N Y=I n=O y=N d=E D=D d=E 7=A y=N D=D 7=A k=R d=E 7=A p=M Y=I M=L 7=A y=N n=O
r16 rex=REX Y=I M=L l=C q=H d=E m=? u=? r=? d=E ω=? o=P 7=A k=R S=S 7=A M=L D=D s=U L=C 7=A D=D s=U k=R y=B Y=I X=N n=O o=P k=R n=O s=V Y=I D=D Y=I a=T n=O k=R d=E
r17 d=E a=T p=M 7=A Y=I n=O k=R d=E o=P 7=A k=R a=T d=E D=D d=E M=L n=O k=R n=O D=D 7=A M=L L=C 7=A y=N a=T n=O y=N n=O S=S a=T k=R n=O Y=I n=O d=E k=R 7=A
r18 S=S n=O M=L Y=I a=T n=O S=S d=E p=M o=P k=R d=E d*=E S=S d=E k=R d=E L=C q=H Y=I 7=A p=M 7=A a=T n=O Y=I M=L o=P k=R Y=I p=M n=O o=P d=E k=R
r19 7=A o=P k=R Y=I k=R d=E Y=I M=L L=C 7=A p=M Y=I y=N n=O 7=A M=L Y=I 7=A M=L a=T k=R Y=I d=E a=T Q=Q s=U d=E S=S a=T 7=A s=V n=O M=L
r20 a=T 7=A q=H 7=A L=C n=O p=M d=E y=N L=C Y=I 7=A a=T n=O 7=A q'=F k=R 7=A y=N L=C Y=I S=S L=C n=O o=P n=O Y=I 7=A M=L Y=I 7=A M=L a=T k=R Y=I o=P n=O L=C q=H Y=I
r21 o=P n=O Y=I 7=A p=M d=E r=[rr] r=[rr] ᵽ=? 7=A L=C s=U 5=V 7=A y=N a=T d=E S=S d=E D=D Y=I L=C d=E S=S d=E y=N s=U M=L 7=A X=[ǂθ] 8=[ǂθ] D=D Y=I S=S d=E
r22 F=CHE d=E k=R d=E D=D 7=A z=A y=N D=D 7=A k=R d=E 7=A o=P 7=A s=V Y=I 7=A Y=I n=O L=C n=O p=M d=E y=N L=C Y=I 7=A Y=I 7=A D=D Y=I k=R d=E
r23 Q=Q s=U d=E M=L n=O 7=A 8=G Y=I n=O S=S l=C k=R Y=I a=T n=O D=D d=E 7=A y=N D=D 7=A k=R d=E 7=A p=M Y=I M=L 7=A y=N n=O o=P d=E y=N
r24 S=S 7=A a=T d=E F=CHE q'=F k=R 7=A y=N L=C d=E S=S L=C n=O Y=I M=L o=P k=R Y=I p=M n=O 7=A Y=I y=N a=T d=E k=R n=O p=M o=P d=E k=R d=E
r25 o=P n=O Y=I Q=Q s=U 7=A M=L L=C q=H d=E s=U y=N n=O 7=A M=L a=T k=R n=O F=CHE p=M Y=I s=V d=E k=R 8=G n=O 8=G y=N n=O D=D Y=I k=R M=L n=O X=[ǂr] r=[ǂr]
r26 S=S 7=A o=P d=E y=N D=D n=O M=L n=O D=D Y=I S=S Y=I p=M s=U M=L 7=A k=R d=E rex=REX Y=I M=L q'=F? Y=I y=N d=E p=M Y=I M=L 7=A S=S
r27 n=O k=R d=E y=N t=? D=D Y=I k=R d*=E L=C s=U p=M q'=F 7=A a=T Y=I L=C 7=A S=S p=N? n=O y=N q'=F Y=I S=S S=S d=E S=S Y=I 5=V 7=A z=A Q=Q s=U d=E
r28 S=S a=T n=O p=M n=O D=D n=O S=S d=E q=H 7=A k=R 7=A s=U y=N n=O o=P 7=A S=S a=T n=O y=N d=E D=D d=E p=M 7=A M=L 7=A D=D Y=I 8=G d=E
r29 S=S a=T Y=I n=O y=N d=E Y=I n=O s=V d=E D=D n=O 7=A S=S 7=A Y=I L=C n=O S=S d=E p=M 7=A F=CHE d=E Y=I y=N p=M Y=I 7=A
r30 o=P n=O S=S 7=A v=? b=? 7=A o=P k=R n=O s=V d=E D=D d=E k=R M=L Y=I d=E S=S 7=A o=P Y=I 7=A a=T d=E F=CHE a=T s=U a=T Y=I M=L Y=I
v01 y=N n=O S=S a=T k=R Y=I D=D Y=I l=C n=O a=T s=U a=T Y=I l=C n=O p=M d=E y=N l=C Y=I 7=A y=N D=D n=O 7=A L=L L=C 7=A o=P n=O k=R Y=I ψ̄=? d=E? θ=G? 7=A? ſt=?
v02 D=D Y=I n=O l=C q=H Y=I n=O S=S l=C a=R? Y=I s=V 7=A 2=A L=L peu=[peu] d=E a=T 7=A s=V n=O S=S a=T k=R 7=A S=S o=P R=R? n=O s=V d=E D=D 7=A S=S d=E
v03 D=D 7=A L=L Y=I far=CHE o=P d=E k=R p=M d=E Y=I d=E S=S n=O y=N n=O ∂=D? m=? l=C? s=U? S=S? ρ=F? 7=A? d=E? n=O? n=N? m=? Y=I? a=T? ǂ=[4r] ï=? r=[4r] l=C d=E L=L
v04 7=A k=R n=O o=P d=E k=R n=O p=M 7=A Y=I D=D d=E D=D Y=I k=R d=E Y=I L=L S=S d=E k=R s=V Y=I l=C Y=I n=O D=D Y=I L=L
v05 peu=[peu] d=E s=V 7=A θ=G L=L Y=I 7=A Q=Q s=U 7=A y=N a=T n=O o=P n=O a=T k=R 7=A a=T s=U a=T 7=A s=V n=O L=L a=T 7=A l=C d=E k=R a=T Y=I q=F Y=I l=C n=O
v06 d=E? p=M? far=CHE q=H 7=A s=V d=E p=M w=O S=S Y=I y=N d=E y=? D=D Y=I a=T n=O Y=I L=L D=D s=U l=C 7=A D=D s=U k=R y=B Y=I Y=I n=O o=P k=R +=O
v07 s=V Y=I D=D Y=I a=T n=O k=R d=E d=E a=T Y=I n=O far=CHE S=S d=E 7=A y=N D=D 7=A k=R 7=A o=P d=E k=R +=O? S=S? ρ=F? s=U? m=? n=O? 7=A a=T k=R 7=A s=V d=E
v08 k=R S=S 7=A a=T Π=? Y=I L=L L=C +=A p=M Y=I y=N n=O a=T k=R 7=A p=M Y=I L=L 7=A y=N n=O d=E o=P 7=A s=V Y=I 7=A d=E ∂=D y=N n=O
v09 ▮=? d=E Y=I y=N Y=I S=S o=P Y=I k=R d=E Λ=R? k=R 7=A o=P n=O Y=I Y=I L=L k=R d=E S=S a=T n=O
Transcription

cipher.txt

# BnF fr. 3034 f.154r-v (Gallica btv1b90600370 views 243-244), deskewed strips ch243_*.jpg ch244_*.jpg
# Clear opening "Poco scritti le lre" precedes r01; clear closing follows v09.
# tokens: Y=psi  L=L-foot  X=crossed psi  M=me-sign  S=ne-sign  d=E(d with flourish)  D=round d  7=tau
#         Q=hooked tau  z=2  8=theta  F=far  U=fu  t=+ ; others as they look (a o k n y s l 5 q p r v b g)
r01 Y M l n y S X g M t D d q d n y Y q s n u d k a Y n 7 k d
r02 Q s D M Y l 7 o Y a 7 y d Y F d 7 y n M Y 7 M 7 n o Y y Y X y d F
r03 y n f S d z y D 7 S d 7 p Y Y M t y n o d F d 7 M 7 p Y 7 a s a n
r04 L 7 s S 7 a n L n p a 7 8 Y n S l k Y a n Q s d S a n S d l q Y 7 k Y a n Q s d S
r05 a 7 p 7 y d q z d n p d y D n s d y s a n Y M D s k D s k y Y Y n 7 L S 7 D d X 8
r06 o d k D d M Y y d a 7 k d n 7 Y Y M 7 y n t 7 o 7 s Y 7 n s d d k y t
r07 7 S L y Y M 7 a Y a s a Y M Y L 7 o Y a 7 y d Y X n S a k Y F U S n y n
r08 p n M a Y d a 7 Q s d S Y D d M 7 S Y 8 y n k Y 7 F S n y n 7 S
r09 L Y L S 7 Y o s Y q q s n M S d X 8 F Y M D s L 7 D s k y Y Y t
r10 a Y k 7 S d a s a Y M Y S n y Y D 7 s Y n L 7 y a n d M s Y M Y
r11 M n y D 7 5 y n 7 M a k n 7 l y n D Y a n n 8 y Y s y n S s 7 n o Y Y Y n y d
r12 M s Y D n y D d M Y y d k 7 S d y n Y r d Q s d S a q s n Y X s d
r13 y a Y n y d D d q k 7 y L d S L n D Y a 7 Y X S d l k d a n q z Q s d
r14 M Y D d M 7 S Y 8 y n k Y 7 d k 7 y n a k n o n 7 L y n F S d
r15 s Y X L d S d M 7 S n o Y Y X Y n y d D d 7 y D 7 k d 7 p Y M 7 y n
r16 rex Y M d l q d p s r d o 7 k n S n 7 M d D s L 7 D s k y Y X n o k n s Y D Y a n k d
r17 d a p 7 Y n k d o 7 k a d D d M S n k n D 7 M L 7 y a n y n S a k n Y n d k 7
r18 S n M Y a n S d p o k d D S d d n d L q Y 7 p 7 a n Y M d o k Y p n o d k
r19 7 o k Y k d Y M d L 7 p Y Y n 7 M Y 7 M d a k Y d a Q s d S d a 7 s n M
r20 a 7 q 7 L n p d y L Y 7 a n 7 q k 7 y L Y S L n o n Y 7 M Y 7 M d a k Y o n L q Y
r21 o n Y 7 p d r r p 7 L s 7 Y a d S d D Y L d S d y s M 7 X 8 D Y S d
r22 F d k d D 7 L y D 7 k d 7 o 7 s Y 7 Y n L n p d y L Y 7 Y 7 D Y k d
r23 Q s d M n 7 8 y n S d k Y a n D d 7 y D 7 n d 7 p Y Y M 7 y n o d y
r24 S 7 a d F q k 7 y L d S L n Y M o k Y p n 7 Y Y a d k n p o d k d
r25 o n Y Q s 7 M d q a s y n 7 M a k n F p Y s d k o n Y y n D Y k M n X r
r26 S 7 o d y D n M d n D Y S Y p s M 7 k d rex Y M q Y X d p Y M S S
r27 n k d y t D Y n d L s p q 7 a Y L 7 S p n y q Y S S d S Y s 7 L Q s d
r28 S a n p n d n S d q 7 k 7 s y n o 7 S a n y d D d p 7 M 7 D Y 8 d
r29 S a Y n y d Y n s d D n 7 S 7 Y L n n S d p 7 F d Y y p Y 7
r30 o n n S 7 v b 7 o k n s d D d k M Y d S 7 o Y 7 a d F a s a Y M Y
v01 y n S a k Y D Y L n a s a Y L n p d y L Y 7 y D n 7 M d L 7 o n k Y n d 8 7 s t
v02 D y n l q Y n S d k Y s 7 z m p p d r i d 7 s n n S a k 7 S o d n s d D Y S d
v03 D 7 M Y F o d k p d Y d S n y n d M L s n g d n M t X r L d M
v04 7 k n o d k n p 7 Y D d D Y k d Y M S d k s Y L Y n D Y M
v05 p d r i d s 7 8 M Y 7 Q s 7 Y a n n a k 7 a s a 7 s n M a 7 L d k a Y q Y L n
v06 d p F q 7 s d p r S Y Y d Y D Y a n Y M d D s L 7 D s k Y Y n o k t
v07 s Y D Y a n k d d 7 Y n F S d 7 y D 7 k 7 o d k t S s M n 7 a k 7 s d
v08 k S 7 a Y M L p Y Y n a k 7 p Y M 7 y n d o 7 s Y 7 d y n
v09 X d Y y S o y k d k 7 o n Y Y M k k d n S a n
Decryption

final.md

# Visconti to Montmorency, 30 Aug 1528 (BnF fr. 3034 f.154r-v): final reading, second pass

`[..]` = an unread glyph. `(?)` = the values are read but the sense is not established. `[X8]`, `[peu]`, `[ǂr]` = code groups.

## Verso, redone glyph by glyph (desk244.png, crops in scratchpad a3/)

| line | tokens | reading | glyphs | unread | values read, sense open |
|---|---|---|---|---|---|
| v01 | y n S a k Y · D Y l n · a s a Y · l n p d y l Y 7 y D n · 7 L · L 7 o n k Y · ψ̄ d θ 7 ſt | nostri, dico tuti, comenciando al capori, [ψ̄] e ga[ſt] | 38 | 2 (blotted psi; final ſt sign) | 3 (e ga) |
| v02 | D Y n · l q Y n · S l a Y s 7 · 2 L · peu · d a · 7 · s n S a k 7 · S · o [R] n s d D 7 S d | Dio ch'io scriva al [peu] et a vostra S. provedase | 35 (peu = 1) | 0 | 2: the "a"-shaped sign in scriva (read R); the R of provedase, a d-plus-stroke shape. The cross above it is the descender of v01's blotted psi. |
| v03 | D 7 L Y · far · o d k · p d · Y d · S n y n · ∂ m l s S o 7 d n · n m Y a · ǂ · ï r · l d L | da li che per me ie sono [d ? c u s p a e o](?) [n ? i t](?) [ǂ][ï][r] cel- | 35 | 5 (m twice, ǂ, ï, r) | 11 |
| v04 | 7 k n · o d k n · p 7 Y · D d D Y k d · Y L · S d k s Y l Y n · D Y L | -aro; però mai de dire il servicio dil | 29 | 0 | 0 |
| v05 | peu · d s 7 θ L Y 7 · Q s 7 y a n · o n a k 7 · a s a 7 s n L a 7 · l d k a Y q Y l n | [peu], e vaglia quanto potrà, tuta volta certifico | 37 (peu = 1) | 0 | 0 |
| v06 | d p · far · q 7 s d p · w · S Y · y d y · D Y a n · Y L · D s l 7 · D s k y Y Y n · o k + | em(?) che havem [w] si ne [y] dito il duca d'Urbino pro- | 34 | 2 (small w after havem; second y) | 2 (em) |
| v07 | s Y D Y a n k d · d a · 7 Y n · far · S d 7 y D 7 k 7 · o d k · + · S ρ s m n · 7 a k 7 s d | -viditore, et a io che se andarà per o(?) s[ρ]u[m]o(?) a trave- | 37 | 2 (ρ, m) | 5 (a in "a io"; + S s n) |
| v08 | k S 7 a Π · Y L · L + p Y y n · a k 7 · p Y L 7 y n · d · o 7 s Y 7 · d ∂ y n | -rsat[Π] il c[+]mino tra Milano e Pavia, e d[y]n- | 32 | 1 (Π) | 2 (+ in camino, A or O; y in "don-") |
| v09 | ▮ d · Y y Y S o Y k d Π k 7 · o n Y · Y L · k d S a n | [▮]de ini(?) spire[Π]rà(?) poi il resto | 23 | 2 (blotted sign; Π) | 0 |
| clear | – | che ca fin de questa ma[teria], pregando n[ost]ro S[ign]or Dio dona a V. S. bona e longa vitta. Da al Campo a Landriano ali XXX d'aust | – | – | – |

Corrections to the first verso pass:
- v05 "non a[r]a" is **potrà**: `o n a k 7` = P-O-T-R-A. The first sign is the small o (P), not n.
- v07 opens "-viditore", the same spelling as recto r16 "providitore".
- The v09 "ρ" before "resto" is the e-tail of the me-sign in "il", not a letter.
- Π occurs twice, in "traversat[Π]" (v08) and "spire[Π]rà" (v09). Both words read without it, so Π is probably a null. That is not proved.
- `peu` recurs twice ("scriva al peu", "servicio dil peu") and is a code group for a person, probably the King. Unproven.

## Recto: retry of the open spots

| spot | result | reason |
|---|---|---|
| r03 "la mia" | kept as "la mia", sense open | All the values are clear. "era la mia [..] tuto causato comtagio" seems to lack a word, perhaps an omitted "opinione". Not resolved. |
| r05, r09 [X8], r21 [ǂθ] | unread: code | A 2-sign code group for a person (host of the council). |
| r07 "asc[i]ilati" | values confirmed, sense open | 9 clear glyphs. No Italian word fits exactly. "ascoltati" would need O and L. |
| r09 "as-cicsai pui" | values confirmed, sense open | "assai più" fits except for the "cic". Possibly a dittography. Not adopted. |
| r09 [q q]uolse | tentative "volse" | Two q's give V, which is unproven. The sense ("volse [X8] che il duca...") fits. |
| r10/r11/r12 so[y Y'] / lo[y Y'] / do[y Y'] | unread (6 glyphs) | The same final pair `y Y'` occurs in all three. N-N gives no word. Sense suggests "soi" (Lombard suoi), "loi/loro" and "doi" (two), which would make `y Y'` a single I-value group. Proposal only. |
| r12 [Y r] | unread | Possibly "ire". It occurs once. |
| r16 [mur·][ω] | unread, probably nulls | Small r/u signs of Lasry's "unknown" row, plus a retouched blot. The line reads correctly without them. |
| r21 [r r ᵽ] "acuvante" | unread, sense open | Small unknown signs, occurring once. "acuvante" may be "a cui avante", but that is not proved. |
| r25 [ǂr] | unread: code | It begins with the crossed ǂ like the person codes. It stands before "sapendolo dissimulare". |
| r26-27 "mi las-oren+ dire" | new tentative reading "mi lasoreno dire" (+ = O) | This gives "Rex: al fine mi lasoreno [= lasserono] dire cum fatica", i.e. "in the end they let me speak, with difficulty". It fits the r22-23 narrative. |
| r27 "s mon fisse" | tentative "s[e] non fisse" | The p here reads as the hooked-p N. The shape is not decisive. |
| r30 [v b] | unread, probably nulls | The line reads "in mia posa a provederli" without them. |

## Full text

**Recto (r01-r30).**
Poco scritti le lre. Il consiglio de heri fu[o] per tirare queli capitanei che erano lì a la opinione che no fuse andase a Milano, perché era la mia(?) tuto causato comtagio. Scrito questo, s'è chiarito questa mane, ha esendo venuto il duca d'Urbino a casa de [X8], per deliberare o a Milano o a Pavia. Ove erano asciilati(?) tuti li capitanei o nostri che [ʃu] sono, molti, et a quesi de la Signoria che sono ascicsai pui(?). [q q]uolse(?) [X8] che il duca d'Urbino tirase tuti li so[..][..] da uno canto et lui li lo[..][..] da uno altro, aciò dito ognuno sua opinione, lui do[..][..] deliberaseno [..][..]. E questa fu[o] inventione de Francesco, dita in secreto ha queli de la Signoria, erano tropo, aciò che se vincese la opinione de andare a Milano. Rex. Il che [..][..][..] è [..] parso al duca d'Urbino providitore et maiore parte de loro dal canto nostro. Io era solito sempre esere chiamato il primo per aprire il camino ali altri, et questa volta ha comenciato a Francisco, poi ali altri pochi, poi a me [..][..][..] acuvante(?) se; dicese nula, [ǂθ] dise che ere da andare a Pavia. Io comenciai a dire quelo agio scrito de andare a Milano. Pensate che Francesco il primo a interompere, poi qualche uno altro che mi vergogno dirlo, [ǂr] sapendolo dissimulare. Rex: il fine mi lasoren[o](?) dire cum fatica, s[e] non(?) fisse. Si va a questo modo se harà uno pastone de mala digestione. Io vedo asai cose, ma che è in mia posa [..][..] a provederli; e sapiate che tuti li

**Verso (v01-v09).**
nostri, dico tuti, comenciando al capori, [..] e ga[..] Dio ch'io scriva al [peu] et a vostra S. provedase da li che per me ie sono d[..]cuspaeo(?) n[..]ita(?) [..][..][..] celaro(?); però mai de dire il servicio dil [peu], e vaglia quanto potrà. Tuta volta certifico em(?) che havem [..] si ne [..] dito il duca d'Urbino providitore, et a io che se andarà per o s[..]u[..]o(?) a traversat[..] il camino tra Milano e Pavia, e don[..]de i ni spire[..]rà(?) poi il resto,

**Clear closing.** che ca fin de questa ma[teria], pregando n[ost]ro S[ign]or Dio dona a V. S. bona e longa vitta. Da al Campo a Landriano ali XXX d'aust.

## Glyph totals (code groups counted as in the reading files: X8 = 2 glyphs; rex, far, peu = 1 each)

| page | cipher glyphs | read with confidence | values read, sense open or tentative | unread (no value) |
|---|---|---|---|---|
| recto r01-r15 | 522 | 476 | 21 | 25 (includes X8 ×2, the y Y' pairs, Y r, ʃu, qq) |
| recto r16-r30 | 516 | 500 | 2 (fine, s non) | 14 (includes ǂθ, ǂr) |
| verso v01-v09 | 300 | 264 | 22 | 14 |
| **total** | **1338** | **1240 (92.7%)** | **45** | **53** |

These are glyph counts made by eye: recto from the two reading files (not re-counted on this pass), verso counted on this pass. The r26-27 retries ("lasoreno", "se non") are tentative and stay in the middle column.

## English summary
Galeazzo Visconti writes from the camp at Landriano on 30 August 1528, in the aftermath of a council of war held at the lodging of a commander whose name is in code [X8]. The question was whether the army should march on Milan or on Pavia, and Visconti had argued for Milan. He says a scheme of Francesco's, whispered to the Venetian (Signoria) officers, was meant to swing the vote, and that the Duke of Urbino, the Venetian proveditor and most of the captains then favoured Pavia. Visconti, who was usually asked to speak first, was this time called on after Francesco and the others. When he made the case for Milan he was interrupted, first by Francesco and then by others he is ashamed to name, and in the end he was let speak only with difficulty. He warns that if things go on this way the result will be "a stew of bad digestion". He says he sees much but can do little to remedy it, and asks Montmorency to see to matters for all the captains, in the service of the King (the code "peu"). He reports that the Duke of Urbino and the proveditor have said the army will go to cut the road between Milan and Pavia, and he will write the rest later. The closing, in clear, sends good wishes and is dated from the camp at Landriano, 30 August.

## Third pass (sibling rules)

Token file: `tokens.txt` (all 39 cipher lines). Counts come from `count_tokens.py`. The second-pass state is kept in the same format, and it counts to 1338 glyphs, 1235 read, 54 sense open, 39 unread and 10 code.
**Baseline check.** The second-pass table says 1240 read. The token file gives 1235. The difference of 5 has two causes:
- `peu` ×2 is counted as code here, but the table counted it as read (2 glyphs).
- The verso per-line "sense open" cells add up to 25, but the table's total says 22 (3 glyphs). The table's verso total was wrong.

The X8, ǂθ and ǂr groups, which the table counted as unread, are counted here as code.

Changes:
1. **r01, r12 "fuo" is read as sense** (+6). It is the Lombard form of "fu". The sibling fr. 3096 has "che fuo" and "se fuose".
2. **The blotted A\* signs in r05 "duca", r10 "et" and r12 "quest[a]" are read** (+3). Each one is a retouch over a letter that the word fixes.
3. **The YB in r03 "Miilano" is read as I** (+1). It is a written dittography inside a secure word.
4. **r09 `q q` is the overlined code group [qq]** (2 glyphs, now code). This is the same group as in fr. 3045 l.2 and l.16. The image shows `5 n` after it, not `s n`, so the text is **[qq] volse [X8] che il duca d'Urbino tirase ...**.
5. **v07 has no A between "et" and "io".** The image shows `d a · Y n · far`, so the reading is "et io che se andarà". One spurious token is removed, which brings the total to 1337.
6. **v08: + = A in "camino" and y = N in "don-" are read** (+2). Both words are secure.
7. **v07 ρ = F** under the sibling rule: `+ S ρ s m n` = "o sfu[m]o". The sense is still open.
8. **v09: the "Π" of "spire[Π]rà" is a bare Λ before k.** Under the doubling rule it gives "spire-rrà". That is not a known form, so the sense stays open. The v08 Π in "traversat[Π]" is a true Π shape, not Λ. It is still unread.
9. **r10-r12 `y Y'`:** the values I-I ("soi / loi / doi") are now entered as sense open, not unread. "soi" and "doi" fit Lombard, but "loi" does not settle it.

Checked with no change:
- **r03 "la mia":** the sign read as E in "era" is the rising-tail E, not a bare Λ.
- **r07 "asc-i-ilati":** there is no Λ and no 'far' in it.
- **r09 "cicsai pui":** it has no Λ, and "l Y l" are plain ʟ ψ ʟ signs.
- **v03 middle:** the Λ-shaped signs there are E, as in "per" and "me" on the same line.
- **v06 "em":** it may be a clear abbreviation.
- **'far' is CHE at every one of its places here.** NTO fits none of them.
- **r12 [Y r], r16 [mur·][ω], r21 [r r ᵽ], r25 [ǂr], r27 "+", r30 [v b], v01 [ψ̄]…[ſt] and v06 w, y:** these were not resolved.

| | glyphs | read as sense | sense open | unread | code |
|---|---|---|---|---|---|
| second pass (token file) | 1338 | 1235 (92.3%) | 54 | 39 | 10 |
| third pass | 1337 | **1247 (93.3%)** | 53 | 25 | 12 |

The letter is below the 95% bar. That bar would need 1271 glyphs read.

### Third pass, addendum: enhancement and native-reader review

I enhanced the open spots with autocontrast, unsharp mask and 2x zoom, working on the line crops taken from the deskewed natives (scratchpad c1/enh1.png).
- **r21 `r r` has an overbar.** It is the sibling code group **[rr]**, the French agent of fr. 3096. That gives "poi a me [rr] [ᵽ] acuvante se". The 2 glyphs move from unread to code. The ᵽ and "acuvante" stay open.
- **Still illegible after enhancement:**
  - v01: the blotted ψ̄ is a solid blob, and ſt is a ligature with a flourish.
  - v03 middle: `Λ m l s S o 7 d n m m ı t ǂ ï r`. The strokes are clear, but they give no word.
  - The following were not resolved either: r07 ʃu, r16 [m u r·][ω], r27 +, r30 [v b], v06 w and y, and v09 ▮.
- **Readings tested and not adopted** (the rule was at most one scribal slip per word, with every glyph supporting the reading):
  - r07 "asc-i-ilati": asociati, aconsigliati, radunati and ascoltati each need two or more changes.
  - r09 "cicsai pui": "(as)sai più" leaves "cic" (3 glyphs) unexplained.
  - v09: "inspirerà" would need the Λ to be a spurious doubling and the first Y to be dropped, which is two slips.
  - v07: "sfumo" is not a sense-bearing verb here.
  - r10-12: "soi / doi" are Lombard forms, but "loi" is not secure, so all three stay sense open.

Final counts: 1337 glyphs, **1247 read (93.3%)**, 53 sense open, 23 unread, 14 code.
Decryption

reading_r01-15.md

# fr. 3034 f.154r, lines 1-15: transcription and reading

Transcribed from desk243.png at native scale and at 1.5-3x zoom. The line centres drift upwards to the right by up to about 90 px by line 15. Measured centres at x=550 / 1950 / 2950: line 1 at 148/182/189 and line 15 at 2188/2141/2062. Because of that drift, zz243_N and a fixed 142-px step both fall onto the wrong line from about line 6.

## Token legend (extends cipher.txt)
Y = plain psi (I). Y' = psi with a left tick on the arm (N; see below). YB = bold forked psi, heavy V-arms (I, homophone).
Ym = short, thick, stubby bold y (M, distinct from YB). y = small y (N). yb = y with a bent/looped left arm (B).
X = crossed psi (O; written fused with a following y in "opi-ni-ON-e", "ON-ostri"). X8 = the code group (its first sign is a "4"-like crossed sign, not the O sign).
L = tall L with foot (C). l = small l/ʟ (C). LA = L whose foot rises to the right, like a "2" (A). lY = small l plus psi, read "ci".
q = H. qF = q in "Francesco" and in the group "q s n" (F). A* = a letter blotted over in dark ink (retouched), read from context.
7 = A (plain tau). A "⊤" with only a top bar is also tau = A. t = true "+" cross = O. Other tokens as in cipher.txt.

**The long, thin diagonal strokes under most lines are not parts of glyphs.** They are word dividers, added later by the decipherer, and they run between words through the descenders. They caused the "hooked p" (contagio, mane), the "crossed q" in line 1 and the "crossed y" in opinione. Leave them out of the transcription.

## Lines

**r01** (clear "Poco scritti le lre", then cipher)
`Y M l n y S YB 8 M t | D d | q d k Y | qF s n · | o d k | a Y k 7 k d`
il consiglo | de | heri | fuo · | per | tirare
= "Il consiglio de heri fu per tirare ..." Correction to cipher.txt: `q d n y Y` is `q d k Y` (heri). Correction: `a Y n 7 k d` is `a Y k 7 k d` (tirare).
Unresolved: 0. Tentative: 3 (qF s n = "fuo", read as "fu"; see key notes).

**r02**
`Q s d M Y | l 7 o Y a 7 y d Y | F | d k 7 y n | M Y | 7 | M 7 | n o Y y YB X y d | F`
queli capitanei che erano li a la opinione che
Corrections: "erano" is `d k 7 y n`, with the bold R inked over, not `d 7 y n`. "Opinione" is `n o Y y YB X y d`.
Unresolved: 0.

**r03**
`y n | f S d | z y D z S d | 7 p Y YB M 7 y n | o d k F | d k 7 | M 7 | p Y 7 | a s a n`
no fuse andase a Mi[i]lano perché era la mia tuto
The YB in Milano is superfluous: it gives "Miilano". "la mia tuto" reads letter for letter but gives no clear sense ("era la mia [?] tuto causato contagio").
Unresolved: 1 (YB here).

**r04**
`L 7 s S 7 a n | L n p a 7 8 Y n | S l k Y a n | Q s d S a n | S d | l q Y 7 k Y a n | Q s d S`
causato comtagio, scrito questo, s'è chiarito ques-
The p is a plain M ("comtagio"). Its "hook" is a divider stroke.
Unresolved: 0.

**r05**
`a 7 p 7 y d | q z d S d y D n | s d y s a n | Y M | D s L A* | D s k yb Y Y' n | 7 | l LA S 7 | D d | X8`
-ta mane, ha esendo venuto il duca d'Urbino a casa de [X8]
"ha esendo" is written in full (`q z` + esendo). It is probably a slip for "essendo".
Corrections: "duca" ends in a blotted A. "Urbino" is `D s k yb Y Y' n`. "a casa" is `7 l LA S 7`: the second C-like sign is LA = A, matching George Lasry's third A sign.
Unresolved: 2 (X8). Tentative: 1 (A*).

**r06**
`o d k | D d M Y yb d k 7 k d | n | 7 | Ym Y M 7 y n | t | 7 | o 7 s Y 7 | n s d | d k 7 y t`
per deliberare o a Milano o a Pavia ove erano
Unresolved: 0.

**r07**
`7 S L YB Y M 7 a Y | a s a Y | M Y | l 7 o Y a 7 y d Y | X y n S a k Y | F | ʃu | S n y n`
asc[i]ilati(?) tuti li capitanei o nostri che [ʃu = vi?] sono
The first word reads a-s-c-i-i-l-a-t-i. Every glyph is clear, but the word is not understood.
Unresolved: 1 (ʃu). Sense unconfirmed: 9 (the first word).

**r08**
`p n M a Y | d a | 7 | Q s d S Y | D d | M 7 | S Y 8 y n k Y 7 | F | S n y n | 7 S`
molti et a quesi[= questi, t omitted] de la Signoria che sono as-
Unresolved: 0.

**r09**
`l Y l S 7 Y o s Y | q q s n (overlined) | M S d | X8 | F | Y M | D s l 7 | D s k yb Y Y' t`
-cicsai pui [q q]uo lse [X8] che il duca d'Urbino
The glyphs of `l Y l S 7 Y o s Y` are all clear ("as-cicsai pui"). "assai più" is a possible target, but it leaves `l Y l` unexplained, so the reading is not adopted. `q q s n M S d` could be "(v)uolse" (= volse, "wanted"), which would make "volse [X8] che il duca d'Urbino tirase ..."; both q's are unproven.
Unresolved: 4 (q q, X8). Sense unconfirmed: 9.

**r10**
`a Y k 7 S d | a s a Y | M Y | S n y Y' | D 7 | s Y' n | l 7 y a n | d A* | M s Y | M Y`
tirase tuti li so[n?][i?] da uno canto et lui li
"uno" is `s Y' n`, which gives the value Y' = N. The word `S n y Y'` should mean "suoi". It reads "so-n-n/i", unresolved.
Unresolved: 2.

**r11**
`M n y Y' | D 7 5 y n | 7 M a k n | 7 lY n | D Y a n | n 8 y Y s y n | S s 7 | n o Y y Y n y d`
lo[n?][i?] da vno altro, a ciò dito ognuno sua opinione
cipher.txt's `M n y D` is `M n y Y'`. Its `7 l y n` is `7 lY n` = "a ciò", the same group as in r14. `M n y Y'` parallels r10's "so..": expected something like "loro"; unresolved.
Unresolved: 2.

**r12**
`M s Y | D n y Y' | D d M Y yb d k 7 S d y n | Y r | d | Q s d S A* | qF s n | Y y s d`
lui do[n?][i?] deliberaseno [Y r] e quest[a] fuo inve-
"deliberaseno" = deliberassero. `Y r` could be "ir(e)" = to go, but that is not proven.
Unresolved: 4 (y Y', Y r). Tentative: 4 (A*, qF s n).

**r13**
`y a Y n y d | D d | qF k 7 y L d S L n | D Y a 7 | Y y S d l k d a n | q z | Q s d`
-ntione de Francesco dita in secreto ha que-
cipher.txt's `Y X S d...` is `Y y S d...` ("in secreto"): the "X" is a y with a divider stroke through it.
Unresolved: 0.

**r14**
`M Y | D d | M 7 | S Y 8 y n k Y 7 | d k 7 y n | a k n o n | 7 lY n | F | S d`
-li de la Signoria erano tropo, aciò che se
Unresolved: 0.

**r15**
`s Y y l d S d | M 7 | n o Y y Y n y d | D d | 7 y D 7 k d | 7 | p Y M 7 y n`
vincese la opinione de andare a Milano
Corrections: cipher.txt's `s Y X L` is `s Y y l`. Its `M 7 S n o` is `M 7 n o`; the `S` is spurious (overlap duplication).
Unresolved: 0.

### Running text
Poco scritti le lre, il consiglio de heri fu per tirare queli capitanei che erano lì a la opinione che no fuse andase a Milano, perché era la mia(?) tuto causato comtagio. Scrito questo, s'è chiarito questa mane, ha[v]esendo venuto il duca d'Urbino a casa de [X8], per deliberare o a Milano o a Pavia. Ove erano asc?ilati(?) tuti li capitanei o nostri che [vi?] sono, molti, et a quesi de la Signoria che sono as-cicsai pui(?) [qq]uolse(?) [X8] che il duca d'Urbino tirase tuti li so[..] da uno canto et lui li lo[..] da uno altro, aciò dito ognuno sua opinione. Lui do[..] deliberaseno [Y r], e questa fu[o] inventione de Francesco, dita in secreto a queli de la Signoria, [che] erano tropo, aciò che se vincese la opinione de andare a Milano.

## Key additions and corrections (with evidence)
1. **Word dividers.** The long thin diagonal strokes are dividers, not glyph parts. This removes "p with hook = N" (contagio is spelled "comtagio"; mane is `a 7 p 7 y d`), the "crossed q" in line 1, and the "crossed y" in opinione and "in secreto".
2. **Two different bold Y signs.**
   - YB, a forked bold psi with heavy V-arms, is **I**. Evidence: "consiglo" (r01 `S YB 8 M t`), "opinione" (r02 `Y y YB X y d`), "asc-YB-ilati" (r07). In r03 Milano (`p Y YB M 7 y n`) it is a superfluous extra i.
   - Ym, a short thick stubby y, is **M**. Evidence: r06 "o a Milano" `7 Ym Y M 7 y n`.
3. **+ = O.** Evidence: "consiglo" r01, "o a Pavia" r06, "erano" r06 end (`d k 7 y t`), "Urbino" r09 end. The Milano sign in r03 is a tau with only a top bar (⊤) = A, not +.
4. **Crossed psi X = O.** It is written fused with a following y (N) in "opinione" (r02 `X y` = on) and in "o nostri" (r07 `X y n S a k Y`). The first sign of the X8 code group is a different, 4-like sign.
5. **Y' = N.** This is a psi-like sign with a left tick on the arm. Evidence: "uno" (r10 `s Y' n`) and "Urbino" (r05 `k yb Y Y' n`, r09 `k yb Y Y' t`). The same sign closes the unresolved words `S n y Y'`, `M n y Y'` and `D n y Y'` (r10-12), where N gives no sense. So either there is a second value, or it is a look-alike not yet separated.
6. **yb = B.** This is a y with a bent left arm. Evidence: "deliberare" (r06), "deliberaseno" (r12), "Urbino" (r05, r09). The plain y stays N (sono, erano, signoria, opinione, ognuno).
7. **LA = A.** This is an L whose foot turns up like a "2". Evidence: "a casa" (r05 `7 l LA S 7`). This is George Lasry's third A sign. The tall L-with-foot stays C (causato, capitanei, Francesco).
8. **lY = "ci".** This is a small l joined to psi. Evidence: "aciò che se vincese" (r14 `7 lY n F S d`) and "a ciò dito" (r11).
9. **q.**
   - Plain q is H. Evidence: "heri" (r01), "chiarito" (r04), "ha" (r05, r13).
   - q is F in "Francesco" (r13 `qF k 7 y L d S L n`).
   - The recurring group `q s n`, "fuo", is read as the verb "fu": "il consiglio de heri fu per tirare" (r01) and "questa fu[o] inventione" (r12). Tentative: the group is overlined in r09, which may mark a code group.
10. **Bold k = R.** Evidence: "erano" (r02). Some other dark blobs are later ink retouches over the underlying letter: A in "duca" (r05), T in "et" (r10), and "quest[a]" (r12). Read them from context. They are not new signs.
11. **X8 (the ǂ8 group).** It occurs in r05 "a casa de [X8]" and r09 "[X8] che il duca d'Urbino tirase tuti li so[i] ...". The context fits a person: the host of the council, whose word decides how the Duke of Urbino deploys his men. Most likely that is the French commander at Landriano, the comte de Saint-Pol. This is not proven from the text.
12. **ʃu (bold)** in r07 "che [ʃu] sono": "vi" fits, not proven.

## Totals
- Glyphs transcribed in r01-r15 (cipher part only; the code group X8 counts as 2): **522**.
  - Per line: 28, 34, 35, 41, 42, 36, 37, 32, 32, 33, 40, 34, 35, 31, 32.
- Unresolved or tentative in value: **25**. They are:
  - X8 twice: 4
  - q q in r09: 2
  - the "fuo" groups: 6
  - y Y' in the so../lo../do.. words: 6
  - Y r: 2
  - ʃu: 1
  - YB in r03: 1
  - blotted A*: 3
- Values read, but the word's sense unconfirmed: about **21** (r07 first word 9, r09 "cicsaipui" 9, r03 "mia" 3).
- Read with confidence (value and word): **about 476 of 522 (91%)**.
Decryption

reading_r16-30.md

# fr. 3034 f.154r, lines r16-r30: glyph transcription and reading

Tokens as in cipher.txt, plus: `d*` = E drawn as a round d with a long flat top bar (r18, r27); `q'` = the closed-bowl
q (bowl closed, stem sometimes rising through or above the bowl, "φ/ϙ"), read F; `z` = the "2" form of A; `?x` = unresolved.
The ne-sign (S) is written as "n" + a looped e-tail: the rough transcription often split it into `n S` or `S d`, and
the me-sign (M) likewise into `M d`. Those spurious extra n/d tokens are removed below.

Crops: line centre y = 179 + (n-1)*142.7 - 0.04*(x-1000) on desk243.png (the line rises to the right). r30's lower
edge is clipped in desk243; checked on zz243_30.

## Per line

**r16** `rex Y M l q d | ?m ?u ?r | d | ?ω | o 7 k S 7 M | D s L 7 | D s k y Y X n | o k n s Y D Y a n k d`
Rex, il che [mur·] è [ω] parso al duca d'Urbino providitore
39 glyphs, 4 unresolved ("mur·" = three small clear-looking letters with a point; ω = a heavily inked, retouched sign after the E).

**r17** `d a | p 7 Y n k d | o 7 k a d | D d | M n k n | D 7 M | L 7 y a n | y n S a k n | Y n | d k 7`
et maiore parte de loro dal canto nostro io era
38 glyphs, 0 unresolved.

**r18** `S n M Y a n | S d p o k d | d* S d k d | L q Y 7 p 7 a n | Y M | o k Y p n | o d k`
solito sempre esere chiamato il primo per
35 glyphs, 0 unresolved.

**r19** `7 o k Y k d | Y M | L 7 p Y y n | 7 M Y | 7 M a k Y | d a | Q s d S a 7 | s n M`
aprire il camino ali altri et questa vol-
33 glyphs, 0 unresolved.

**r20** `a 7 | q 7 | L n p d y L Y 7 a n | 7 | q' k 7 y L Y S L n | o n Y | 7 M Y | 7 M a k Y | o n L q Y`
-ta ha comenciato a Francisco, poi ali altri pochi
40 glyphs, 0 unresolved.

**r21** `o n Y | 7 p d | ?r ?r | ?ᵽ | 7 L s 5 7 y a d | S d | D Y L d S d | y s M 7 | X 8 | D Y S d`
poi a me [r r ᵽ] acuvante se, dicese nula [ǂθ] dise
35 glyphs, 5 unresolved: the two small r's, the heavy flagged p ("ᵽ"), and the code group ǂθ (X 8, the recurring
name code from r05/r09). "acuvante" reads literally; it may be a form of "avante" with L s unexplained, and I have not
forced it.

**r22** `F | d k d | D 7 | z y D 7 k d | 7 | o 7 s Y 7 | Y n | L n p d y L Y 7 Y | 7 | D Y k d`
che ere da andare a Pavia io comenciai a dire
34 glyphs, 0 unresolved ("ere" as written).

**r23** `Q s d M n | 7 8 Y n | S l k Y a n | D d | 7 y D 7 k d | 7 | p Y M 7 y n | o d y`
quelo agio scrito de andare a Milano pen-
33 glyphs, 0 unresolved.

**r24** `S 7 a d | F | q' k 7 y L d S L n | Y M | o k Y p n | 7 | Y y a d k n p o d k d`
-sate che Francesco il primo a interompere
33 glyphs, 0 unresolved.

**r25** `o n Y | Q s 7 M | L q d | s y n | 7 M a k n | F | p Y | s d k 8 n 8 y n | D Y k M n | ?X ?r`
poi qualche uno altro che mi vergogno dirlo [ǂr]
36 glyphs, 2 unresolved (the final "ǂr" pair, which looks like a crossed f/7 plus r; "non" would fit the sense
before "sapendolo" but is not proved).

**r26** `S 7 o d y D n M n | D Y S Y p s M 7 k d | rex | Y M | q' Y y d | p Y M 7 S`
sapendolo dissimulare. Rex il fine mi las-
31 glyphs, 0 unresolved at glyph level. `q'` read F gives "fine". The sense of "Rex il fine mi las- / oren..." is not established.

**r27** `n k d y ?t | D Y k d* | L s p | q' 7 a Y L 7 | S p n y | q' Y S | S d | S Y | 5 7 | z | Q s d`
-oren[+] dire cum fatica s mon(?) fisse, si va a que-
35 glyphs, 1 unresolved (the + sign). Values of the rest are standard, but the words "las-oren+" and "s mon" (S p n y) do not
yet make sense: p in "S p n y" could be the hooked p (N) giving "s non", and I cannot tell from the shape.

**r28** `S a n | p n D n | S d | q 7 k 7 | s y n | o 7 S a n y d | D d | p 7 M 7 | D Y 8 d`
-sto modo se harà uno pastone de mala dige-
33 glyphs, 0 unresolved.

**r29** `S a Y n y d | Y n | s d D n | 7 S 7 Y | L n S d | p 7 | F | d | Y y p Y 7`
-stione. Io vedo asai cose, ma che è in mia
29 glyphs, 0 unresolved.

**r30** `o n S 7 | ?v ?b | 7 | o k n s d D d k M Y | d | S 7 o Y 7 a d | F | a s a Y | M Y`
posa [v b] a provederli, e sapiate che tuti li
32 glyphs, 2 unresolved (a small v and a b). Without them the line reads "è in mia posa a provederli".

### Running text
Rex, il che [mur] è [ω] parso al duca d'Urbino providitore, et maiore parte de loro dal canto nostro. Io era solito
sempre esere chiamato il primo per aprire il camino ali altri, et questa volta ha comenciato a Francisco, poi ali altri
pochi, poi a me [r r ᵽ] acuvante se, dicese nula, [ǂθ] dise che ere da andare a Pavia. Io comenciai a dire quelo agio
scrito de andare a Milano. Pensate che Francesco il primo a interompere, poi qualche uno altro che mi vergogno dirlo,
[ǂr] sapendolo dissimulare. Rex il fine mi las-oren[+] dire cum fatica s mon(?) fisse; si va a questo modo se harà uno
pastone de mala digestione. Io vedo asai cose, ma che è in mia posa [v b] a provederli, e sapiate che tuti li ...

## Key additions and corrections (with evidence)

1. **ne-sign = one glyph written "n" + looped e-tail.** "parso" r16 (o 7 k S n) reads P-A-R-S-O only
   if the "n" before the tail is part of S; same in "nostro" r17, "solito" r18, "posa" r30, "cose" r29, "questa" r19.
   The rough file's `n S` and `S d` pairs are single S.
2. **me-sign likewise swallows its e-tail**: "il camino" r19, "ali altri" r19/r20, "sapendolo" r26. The rough `M d` = M.
3. **E has a third form, d with a long flat top bar (d\*)**: "esere" r18 (S-E-M-P-R-E | d\*-S-E-R-E) and "dire" r27.
   The rough file had it as D.
4. **q' (closed bowl, stem rising through or above it) = F**, open "9"-shaped q = H. F in "Francisco" r20, "Francesco"
   r24, "fatica" r27, "fisse" r27, and probably "fine" r26; H in "ha" r20, "che" r16/r25, "chiamato" r18, "pochi" r20,
   "harà" r28. The shapes differ, but the difference is small (compare crops at r20 x≈480 "ha" vs x≈1260 "Francisco").
5. **z ("2") = A in r22 "da andare"**: the rough file had L there (D 7 L y ...). It reads D-A | A-N-D-A-R-E.
6. **y = B in "d'Urbino" r16** (D s k y Y X n), where the y looks like the ordinary y. Elsewhere y = N (canto, nostro,
   camino, andare, vergogno, pastone). Crossed psi X = N in "Urbino", matching Lasry's N row (not O).
7. **theta (8) = G twice in "vergogno" r25** (s d k 8 n 8 y n), and in "agio" r23 and "digestione" r28.
8. **plain p = M** in "maiore", "sempre", "primo", "camino", "modo", "mala", "interompere", "mia". The dot over the p of
   "modo" r28 is a stray point, not the hooked-p (N) form.
9. **Hooked tau Q confirmed**: "questa" r19, "quelo" r23, "qualche" r25, "que-sto" r27/28.
10. **Unresolved small signs**: "mur·" r16, "r r" and the heavy flagged p r21, "ǂr" r25, "v b" r30. They are all small
    r/u/v shapes, like Lasry's "Unknown" row (r·, v·). Dropping them gives good Italian in r16 ("il che è parso") and
    r30 ("in mia posa a provederli"), so they may be nulls, but that is not proved.
11. **Rough transcription errors fixed**: r17 `y n S` (not `y n S` + extra n), r18 `d* S d k d` (not `D S d d n d`),
    r19 `L 7 p Y y n` (not `Y Y`) and `Q s d S a 7` (extra d dropped), r20 F not H in Francisco, r22 z not L,
    r23 `S l k Y a n` (not `S d k`), r25 `L q d s y n` and `s d k 8 n 8 y n`.

## Totals
- Glyphs r16-r30: **516** (rex counted as 1; far as 1).
- Unresolved: **14** (r16: 4, r21: 5 including the ǂθ code group, r25: 2, r27: 1, r30: 2).
- Read with confidence: **500**. Two more have values but are tentative: q' = F in r26 "fine", and p in r27 "S p n y".
- Open sense (values known, words not understood): r21 "acuvante", r26-27 "Rex il fine mi las-oren+ dire", r27 "s mon".
Decryption

reading_verso.md

# f.154v, cipher lines v01-v09 (Gallica view 244, deskewed desk244.png, crops v01-v09.png)

Glyph values as in KEY.md. `[..]` = unread glyphs, `(?)` = doubtful word.

| line | reading | unread glyphs |
|---|---|---|
| v01 | nostri, dico tuti, comenciando al capor[i]… [e g a u t] | 5 |
| v02 | Dio ch'io scriva al [peu] e a vostra S. provedase | 0 |
| v03 | da li che per me ie sono el c[u]o sp[a]e[o] mi[t][ǂ] i[r] ce l- | 8 |
| v04 | -aro; però mai de dire il servicio dil | 0 |
| v05 | [peu], e vaglia quanto non a[r]a; tuta volta certifico | 1 |
| v06 | [em] che havem[?] [si]e[n]e dito il duca d'Urbino pro- | 5 |
| v07 | -veditore, e a io che se andara per [t] su[m]o a trave- | 3 |
| v08 | -rsati il camino tra Milano e Pavia, d[o]n- | 1 |
| v09 | -[d]e i[n] sp[n]rera poi il resto | 4 |
| clear | che ca fin de questa ma[teria], pregando n[ost]ro S[ign]or Dio dona a V. S. bona e longa vitta. Da al Campo a Landriano ali XXX d'aust | – |

Notes
- `peu` (v02 end, v05 start) is written like the clear letters p-e-u and stands where a person is named: "scriva al peu", "il servicio dil peu". A code word, most likely the King.
- q = F in "certifico" (v05), as in "Francesco" on the recto; q = H in "chiarito" and "havem-". Two look-alike signs, not separated on this scan.
- + = A in "camino" (v08).
Translation

f154_en.md

<!-- English translation of the "Full text" of final.md (Claude Opus 5.5, 23 Oct 2026): BnF fr. 3034 f. 154r-v (R4223), the second-pass reading of Galeazzo Visconti's cipher letter, cipher throughout except the clear closing. Same holes and marks: [..] unread signs, (?) doubtful, [X8], [qq], [ǂθ], [ǂr], [rr] code groups (persons), "Rex" and [peu] = the King; doubtful words are translated with their (?), and stretches whose sense is open are rendered as literally as possible. -->

# Galeazzo Visconti to Anne de Montmorency, camp at Landriano, 30 August 1528 (BnF fr. 3034 f. 154r-v): English translation

**Recto.** Few letters written. Yesterday's council was to bring those captains who were there round to the opinion that
one should not go to Milan, because the plague(?) was caused there entirely by mine(?). This written, it was cleared up
this morning, the Duke of Urbino having come to the house of [X8] to decide either for Milan or for Pavia. Where all the
captains, or ours who [ʃu] are, many, were asciilati(?), and those of the Signoria who are ascicsai pui(?). [qq] willed(?)
[X8] that the Duke of Urbino should draw all his so[..][..] to one side, and he his lo[..][..] to another, so that, each
having given his opinion, he do[..][..] they should decide [..][..]. And this was a device of Francesco's, said in secret
to those of the Signoria, who were too many, so that the opinion of going to Milan should prevail. Rex. Which [..][..][..]
is [..] seemed to the Duke of Urbino, the provveditore, and the greater part of them on our side. I was always used to
being called first, to open the way for the others, and this time he began with Francesco, then with a few others, then
with me [..][..][..] acuvante(?) se; nothing was said, [ǂθ] said it was to go to Pavia. I began to say what I have
written, of going to Milan. Think: Francesco the first to interrupt, then someone else whom I am ashamed to name, [ǂr]
knowing how to dissemble it. Rex: in the end they let(?) me speak with difficulty, if not(?) fisse. If it goes on this
way, there will be a stew of bad digestion. I see many things, but what is in my power [..][..] to provide for them;
and know that all the

**Verso.** ours, I say all, beginning with the chiefs, [..] and ga[..] God that I write to the [peu], and that Your
Lordship provide from there, for as for me they are d[..]cuspaeo(?) n[..]ita(?) [..][..][..] celaro(?); but never [fail]
to say the service of the [peu], and let it be worth what it can. However, I certify em(?) that we have [..] if [..] said
the Duke of Urbino, the provveditore, and to me, that they will go by o s[..]u[..]o(?) to cross the road between Milan
and Pavia, and from there [..] will then spire[..]rà(?) the rest,

**Clear closing.** which is the end of this matter, praying our Lord God to give Your Lordship a good and long life. From
the camp at Landriano, the 30th of August.

Key: KEY.md, key_fr3045_f28.png

05 Sources

Key, transcriptions, decipherments and notes: targets/visconti1528/ in the repository.