TD1, TD2 e TD3: i tre formati MRZ
TD1, TD2 e TD3 sono i tre formati di zona a lettura ottica (MRZ) definiti dal Doc 9303 dell'ICAO. TD3 ha due righe di 44 caratteri, sui passaporti; TD2 ha due righe di 36, sulle carte d'identità e di viaggio più vecchie; TD1 ha tre righe di 30, sui documenti in formato tessera.
I tre formati in sintesi
| Formato | Righe × caratteri | Tipo di documento | Esempio (prima riga) |
|---|---|---|---|
| TD3 | 2 × 44 | Passaporti e altri documenti di viaggio in formato TD3 | P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<< |
| TD2 | 2 × 36 | Documenti di viaggio ufficiali in formato TD2; carte d'identità più vecchie | I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<< |
| TD1 | 3 × 30 | Documenti di viaggio ufficiali e carte d'identità in formato tessera | IDGRCAK472913<4PN48291630<<<<< |
Ogni riga è completata fino alla sua lunghezza piena con il carattere di riempimento <. Una zona che non ha esattamente 44, 36 o 30 caratteri per riga non è una zona valida di quel formato – ed è la prima cosa da controllare quando un parser la rifiuta.
TD3 – due righe da 44
Il formato dei passaporti. La prima riga contiene il codice del documento, lo Stato di emissione e il nome; la seconda il numero del documento, la cittadinanza, la data di nascita, il sesso, la data di scadenza, il numero personale e le cifre di controllo. Qui la zona del nome è di 39 caratteri, la più ampia dei tre formati. Cognome e nomi sono separati da due caratteri di riempimento; uno solo separa i nomi tra loro.
P<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<<<<<<<<<
AM73045184GRC9403084F3203101PN48291630<<<<72 La cifra di controllo composita si trova in posizione 44 della riga inferiore e copre le posizioni 1–10, 14–20 e 22–43 di quella riga. Lo standard esclude dalla composita le posizioni 11–13 (cittadinanza) e 21 (sesso).
TD2 – due righe da 36
La stessa disposizione su due righe, più stretta di otto caratteri su ogni riga. Il campo del nome è di 31 caratteri.
I<GRCPARADEIGMA<<ELENI<SOFIA<<<<<<<<
TR61850420GRC9403084F2911043<<<<<<<2 La sua cifra composita è in posizione 36 della riga inferiore e copre le posizioni 1–10, 14–20 e 22–35.
TD1 – tre righe da 30
Il formato tessera, e quello che i parser sbagliano più spesso, perché i campi sono distribuiti diversamente: la riga superiore contiene il codice del documento, lo Stato di emissione, il numero del documento e il primo blocco di dati facoltativi; la riga centrale le date, il sesso e la cittadinanza; e il nome ha tutta la riga inferiore per sé, 30 caratteri. È il campo del nome più stretto dei tre, quindi TD1 è il formato in cui un nome lungo rischia di più di essere troncato.
IDGRCAK472913<4PN48291630<<<<<
9403084F3405204GRC<<<<<<<<<<<9
PARADEIGMA<<ELENI<SOFIA<<<<<<< La sua cifra composita è l'ultimo carattere della riga centrale, la posizione 30, e copre le posizioni 6–30 della riga superiore più le 1–7, 9–15 e 19–29 di quella centrale – un intervallo che si estende su due righe, ed è proprio la parte che un'implementazione sbaglia.
Gli altri formati che incontrerai
Oltre ai tre formati dei documenti di viaggio:
- MRV-A – il visto a lettura ottica di formato A: due righe da 44.
- MRV-B – il visto a lettura ottica di formato B: due righe da 36.
- Un formato a una riga da 30 caratteri usato nelle zone delle patenti di guida.
- Una riga di sei caratteri che contiene un numero di accesso alla carta.
- Una variante a due righe da 30 caratteri.
La nostra API indica il formato che ha rilevato, così non devi dedurlo tu dalla lunghezza delle righe.
Le cifre di controllo, e cosa non coprono
Ogni cifra di controllo si calcola sul suo campo con i pesi ripetuti 7, 3, 1: le cifre valgono se stesse, le lettere la loro posizione nell'alfabeto più 9 (A = 10) e il carattere di riempimento < vale 0. La somma modulo 10 è la cifra.
Una cifra protegge il numero del documento, la data di nascita, la data di scadenza e, in TD3, il numero personale – più la composita su gran parte della zona.
Nessuna cifra di controllo copre il nome, e nessuna copre lo Stato di emissione. Un errore di lettura in uno dei due passa inosservato: i conti tornano comunque. È l'argomento più forte per leggere anche il lato stampato del documento e confrontare le due letture, che è ciò che la nostra API fa per impostazione predefinita.
L'aritmetica è svolta carattere per carattere nel parser MRZ, che poi la ricalcola su una tua zona.
Dove lo dice lo standard
ICAO Doc 9303, Machine Readable Travel Documents, ottava edizione, 2021. La pagina principale della serie di documenti non è più raggiungibile, quindi le parti sono citate per numero e con il titolo originale inglese, senza link:
| Parte | Titolo |
|---|---|
| Parte 3 | Specifications Common to all MRTDs |
| Parte 4 | Specifications for Machine Readable Passports (MRPs) and other TD3 Size MRTDs |
| Parte 5 | Specifications for TD1 Size Machine Readable Official Travel Documents (MROTDs) |
| Parte 6 | Specifications for TD2 Size Machine Readable Official Travel Documents (MROTDs) |
| Parte 7 | Machine Readable Visas |
La parte 3 raccoglie ciò che è comune a tutti i formati – il set di caratteri, il carattere di riempimento, l'aritmetica delle cifre di controllo. La parte 4 definisce TD3, la parte 5 definisce TD1, la parte 6 definisce TD2 e la parte 7 definisce i due formati dei visti. La sezione 4.2.4 delle parti 4, 5 e 6 è dove si trova la tabella delle cifre di controllo di ciascun formato.
Verifica una tua zona
Incolla una zona nel parser MRZ gratuito e ogni cifra di controllo viene ricalcolata sotto i tuoi occhi, nel tuo browser – non viene caricato nulla. Per creare una zona valida per i tuoi dati di test, usa il generatore MRZ; per vedere l'intero vocabolario di campi con cui risponde un riconoscimento, apri l'esploratore dei campi del documento. Nessuno dei tre strumenti richiede un account.
Per leggere un documento intero anziché solo la zona – il lato stampato oltre a quello codificato – basta una richiesta, e le prime chiamate non richiedono un account. La pagina MRZ and the visual zone della documentazione (in inglese) spiega a quale lettura credere quando le due non coincidono.
Tutte le zone di questa pagina appartengono a un unico titolare inventato – numeri inventati, date inventate e cifre di controllo calcolate da questi anziché digitate. Niente di tutto ciò appartiene a qualcuno.