Perché dovrei mai usare i caratteri speciali Unicode per i numeri romani?


43

Questo per rispondere a una domanda che è sorta nei commenti su questa domanda sui caratteri Unicode per i numeri romani:

Perché è necessario o preferito rispetto al solito modo di digitare ai, ai-ai, ai-ai-ai, vee-ai, ecc.?

Per iniziare dall'inizio, nel blocco Forme numeriche di Unicode , esistono punti di codice per i numeri romani che sono a prima vista molto simili nell'aspetto alle lettere latine maiuscole standard o loro combinazioni (U + 2160 - U + 217F). Ad esempio, U + 2165 (Numero romano sei) assomiglia molto a VI (lettera maiuscola latina V e lettera maiuscola latina I).

Pertanto, sorge la domanda sul perché non si debba usare quest'ultima per rappresentare quelle cifre e, ad esempio, digitare Louis VIIinvece di Louis Ⅶ. Ovviamente, l'uso di nessun carattere speciale evita problemi di compatibilità con caratteri che non li supportano. Ma anche se so che il testo verrà visualizzato con un carattere che supporta questi caratteri, perché dovrei preoccuparmi di usarli?

Risposte:


56

In molti tipi di carattere non troverai praticamente alcuna differenza tra usare i caratteri Unicode per i numeri romani e comporli semplicemente da lettere latine stardard. Ad esempio, quanto segue mostra Louis VII(in alto) e Louis Ⅶ(in basso, usando i punti di codice per i numeri romani) resi con FreeSans:

inserisci qui la descrizione dell'immagine

A parte una piccola differenza nella spaziatura, che probabilmente non era intenzionale, l'output è identico.

Ecco lo stesso testo reso con DejaVu Sans:

inserisci qui la descrizione dell'immagine

Mentre i personaggi sembrano ancora identici, c'è una notevole differenza nella spaziatura. Può essere una questione di gusti se quest'ultimo sia preferibile per i numeri romani, ma certamente non sarebbe una buona scelta di crenatura per le maiuscole regolari.

Linux Libertine fa un ulteriore passo avanti:

inserisci qui la descrizione dell'immagine

Qui i numeri romani sono leggermente più piccoli delle lettere maiuscole, quindi corrispondono ai numeri arabi del carattere. Soprattutto, sono collegati, riproducendo una caratteristica che spesso si trova nei numeri romani disegnati a mano.

Ora, alcuni potrebbero ancora sostenere che non ci sono miglioramenti in quanto sopra o che non valgono la pena. Quindi, ecco un caso in cui il mancato utilizzo dei caratteri Unicode produrrà risultati orribili:

inserisci qui la descrizione dell'immagine

(Si noti che le dimensioni ridotte dei numeri riflettono una composizione storica effettiva). Qualcosa di simile può accadere per i caratteri script o caligraphic.

Senza punti Unicode specifici per i numeri romani, la risoluzione di quest'ultimo problema sarebbe possibile solo con:

  • Utilizzo di una complessa funzione OpenType (o simile) che tenta di rilevare se una sequenza di lettere maiuscole è un numero romano. Ciò causerà inevitabilmente problemi con le parole che sarebbero anche un numero romano valido.

  • Utilizzando una semplice funzione OpenType, che deve essere attivata manualmente per ogni numero romano.

  • Utilizzo dell'Area uso privato Unicode. È probabile che insorgano problemi di compatibilità anche quando si passa tra due caratteri che supportano entrambi i numeri romani.

Dal punto di vista di Unicode, l'enorme differenza semantica tra lettere maiuscole latine e numeri romani dovrebbe già essere sufficiente per una codifica separata dei numeri romani.


In che misura i numeri romani pongono qualche problema diverso dagli acronimi e dalle iniziali, entrambi i quali verrebbero gestiti correttamente con un carattere che include un set di maiuscoletti? Mi aspetto che gli scenari in cui "VII" dovrebbe essere mostrato in maiuscolo anziché in minuscole siano gli stessi di quelli in cui "NATO" o "PM" dovrebbero essere mostrati allo stesso modo. Anche se forse è bello avere un modo per collegare le barre incrociate con "VII" ma non "VIP", non sono sicuro che le barre incrociate debbano essere collegate quando si usano i numeri all'interno del testo .
supercat

Molto bene ha aggiunto un po 'la tua semantica espansa, ma se vuoi incorporare nella tua risposta sentiti libero di fare soa e cancellerai la mia.
joojaa,

@supercat: Non sono esattamente sicuro di ciò a cui stai mirando, ma nella mia esperienza, nella tipografia moderna, i numeri romani hanno sempre dimensioni maiuscole, mentre in lingue diverse dal tedesco, è concepibile usare le maiuscole per abbreviazioni in maiuscolo. Nella tipografia blackletter, utilizzeresti un carattere romano per le abbreviazioni in maiuscolo e per i numeri romani, ma a volte useresti numeri romani più piccoli (come sopra) e per alcune occasioni molto speciali, utilizzeresti tutte le lettere maiuscole.
Wrzlprmft

@Wrzlprmft: mi aspetto che i numeri romani siano stampati delle stesse dimensioni di cose come "PM" o "NATO"; in alcuni contesti, tali cose sono stampate come maiuscole a grandezza naturale, ma in altri ciò le fa risaltare troppo. Se un carattere avesse una serie di lettere maiuscole il cui disegno, in relazione al resto del carattere, era appropriato per "PM" o "NATO", penserei che sarebbe adatto anche a numeri romani.
supercat

@supercat: per il carattere romano normale, sì (anche se si può discutere se questa sarebbe la cosa migliore da fare). Ma che dire di blackletter e caratteri di script? Inoltre, cosa ne concludi?
Wrzlprmft

27

TL; DR Il consorzio Unicode raccomanda di usare la lettera latina ove possibile e non il numero, che è stato incluso per compatibilità con la tipografia dell'Asia orientale.

La storia completa: (con giustificazione della suddetta affermazione)

A meno che tu non stia facendo qualche tipografia dell'Asia orientale, usare i caratteri numerici romani (non arcaici) di Unicode (U + 2160 - U + 217F) è un trucco.

Questi caratteri sono stati inclusi per la compatibilità con gli standard dell'Asia orientale pre-Unicode. Questi caratteri rimangono verticali dove il testo dell'Asia orientale è composto dall'alto verso il basso, mentre di solito, il testo in caratteri latini (ad esempio nomi) è scritto lateralmente in questo contesto.

Per citare l'ultima versione dello standard Unicode (v 7.0, cap. 22, p. 20) :

Numeri romani. Per la maggior parte degli scopi, è preferibile comporre i numeri romani dalle sequenze delle lettere latine appropriate. Tuttavia, le varianti maiuscole e minuscole dei numeri romani da 12 a L, più L, C, D e M, sono state codificate nel blocco Numero forme (U + 2150..U + 218F) per la compatibilità con gli standard dell'Asia orientale. A differenza delle sequenze di lettere latine, questi simboli rimangono in posizione verticale. Inoltre, in alcune versioni locali, i formati di data compatti utilizzano numeri romani per il mese, ma potrebbero prevedere l'uso di un singolo carattere.

Quindi, in teoria, la distinzione tra numeri romani e lettera è una questione di testo ricco, come corsivo, un cambio di carattere o legature opzionali. Detto questo, come mostra @Wrzlprmft, alcuni caratteri lo usano per evitare un cambio di carattere per ogni numero romano mantenendo una buona tipografia.

L'esistenza di un carattere per XII e non per XIII implica che ci sono diverse codifiche con lo stesso numero, il che porta a difficoltà nella ricerca del testo: se scrivi su Luigi XII e Luigi XIII, probabilmente scriverai XIII come X + I + I + I, ma scriverai XII come un singolo personaggio? O come X + I + I per avere un display coerente con XIII? Non c'è una sola buona risposta a questa domanda mentre si usano i caratteri numerici romani, ed è per questo che il consorzio Unicode raccomanda di usare le lettere latine quando possibile e non i numeri.

Modifica: aggiunta la dichiarazione TL; DR all'inizio


9
" il consorzio Unicode raccomanda di usare le lettere latine quando possibile e non i numeri." Questo dovrebbe essere molto più importante di quello che è attualmente.
Ixrec,

1
Dal punto di vista della semantica Unicode questa è di gran lunga la migliore risposta qui. Ci possono essere ragioni pratiche con alcuni tipi di carattere per preferire i caratteri numerici romani, e questa è ovviamente una considerazione indipendente della progettazione grafica, ma semanticamente sono sempre sbagliati.
R ..

13

Dal punto di vista di come appare, potrebbe non esserci molta differenza. Quindi, se pubblichi solo materiale stampato, allora nessuna differenza, tranne in alcuni caratteri come Wrzlprmft sottolinea nella sua eccellente risposta.

La semantica è importante

La differenza semantica è enorme. Usando i numeri romani è chiaramente evidente che stai parlando del numero 5 anziché della lettera V. Certo, sembrano uguali, ma significano diversi. Ciò significherebbe che il motore di ricerca potrebbe avere maggiori possibilità di trovare "XX mark V" quando si cerca "XX versione 5".

In effetti il ​​motivo per cui alcune cose funzionano male è perché non incorporiamo informazioni semantiche. Il mondo sarebbe davvero un posto migliore se lo facessimo. Quindi usare il giusto significato semantico equivale a usare gli stili in un elaboratore di testi rispetto allo stile manualmente. C'è poca differenza sull'estremità umana, ma grande potere nell'automazione.

I caratteri dovrebbero creare numeri romani diversi

I creatori di font non li usano davvero perché non vengono usati molto spesso. Ma usando questi potresti ottenere le lastre numerali romane sulle lettere che le differenzia dal testo. Quindi la funzione è sottoutilizzata perché è un uso raro. I caratteri non implementano davvero tutto, né dovrebbero. Usandoli trarrai beneficio se fossero presenti.

Conclusione

Tutto questo è certamente un problema di tipo pollo e uova. Se le persone non usano le gamme di caratteri speciali, non verranno concesse quote speciali per quelle gamme. Quindi il font non supporterà letterali romani dallo stile speciale, perché così facendo si perderebbe solo uno sforzo sulle funzionalità che nessuno usa. Lo stesso vale per la ricerca: se nessuno usa letterali romani, nessun motore di ricerca troverà letterali romani e la semantica andrà persa. La semantica soffre di non adottare il giusto significato semantico. La stessa cosa vale certamente anche per una più ampia gamma di caratteri Unicode.

Per quanto riguarda la complessità dell'input, sì, la maggior parte degli utenti non è in grado di scrivere caratteri estesi, ma non è una scusa per una persona esperta che può saltare se ha senso. Se nessuno migliora le cose, non verranno mai fatti progressi. Anche l'inferno ha una modalità per scrivere alfa digitando / alpha. Quindi non c'è davvero alcun motivo per cui non ci potrebbe essere un modo semplice per taggare i numeri o addirittura suggerirli automaticamente come tali. Ancora una volta, se nessuno lo fa, non otterrà mai un'adozione più diffusa.


In realtà un motore di ricerca restituisce risultati di gran lunga migliori quando si cerca "Louis VII" piuttosto che "Louis pro", perché in realtà la maggior parte del contenuto viene generato con strumenti che non consentono una distinzione semantica così fine.
xpereta,

1
@xpereta sì perché alle persone non interessa la semantica. Tuttavia, se lo facessero, faresti facilmente corrispondere a 7 anche per i numeri. Gran parte dell'inefenza nel mondo è dovuta al fatto che le persone non ritengono importante sottolineare la differenza semantica delle cose in modo esplicito quando potrebbero facilmente farlo. Il computer in realtà non conosce la differenza anche se un umano lo farebbe
joojaa

1
@joojaa In questo caso, probabilmente ha più a che fare con il fatto che VII è un ordine di grandezza più facile da scrivere di Ⅶ. Non sono sicuro se questo cambierà mai.
Ixrec,

Espanderò un po 'l'ultimo paragrafo per concludere la tua conclusione che un uso più ampio di caratteri speciali come questo incoraggerebbe una più ampia implementazione dei caratteri.
Nathan Tuggy

2
Metto fortemente in dubbio questa risposta riguardo alla semantica. I caratteri numerici romani Unicode sono <compat>equivalenti alle corrispondenti sequenze di lettere latine, il che suggerisce fortemente che l'unica ragione per cui sono in Unicode è la compatibilità di andata e ritorno con alcuni set di caratteri legacy (probabilmente CJK) che li avevano. Generalmente, tali caratteri non dovrebbero essere usati, tranne che per i documenti di sgancio circolare fedelmente creati con codifiche legacy.
R ..
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.