¿Por qué debería usar los caracteres especiales de Unicode para los números romanos?

Esto es para responder una pregunta que surgió en los comentarios sobre esta pregunta sobre los caracteres Unicode para números romanos:

¿Por qué es esto necesario o preferible a la forma habitual de escribir ai, ai-ai, ai-ai-ai, vee-ai, etc.?

Para empezar desde el principio, en el bloque Formas numéricas de Unicode , existen puntos de código para números romanos que, a primera vista, son muy similares en apariencia a las letras latinas mayúsculas estándar o combinaciones de las mismas (U+2160 – U+217F). Por ejemplo, U+2165 (número romano seis) se parece mucho a VI (letra mayúscula latina V y letra mayúscula latina I).

Por lo tanto, surge la pregunta de por qué uno no debería usar este último para representar esos dígitos y, por ejemplo, escribir Louis VIIen lugar de Louis Ⅶ. Obviamente, no usar caracteres especiales evita problemas de compatibilidad con fuentes que no los admiten. Pero incluso si sé que el texto se representará con una fuente que admita estos caracteres, ¿por qué debería molestarme en usarlos?

Respuestas (3)

En muchas fuentes, de hecho, apenas encontrará ninguna diferencia entre usar los caracteres Unicode para los números romanos y simplemente componerlos a partir de letras latinas estándar. Por ejemplo, los siguientes espectáculos Louis VII(arriba) y Louis Ⅶ(abajo, usando puntos de código para números romanos) renderizados con FreeSans:

ingrese la descripción de la imagen aquí

Aparte de una pequeña diferencia en el espaciado, que probablemente no fue intencional, el resultado es idéntico.

Aquí está el mismo texto renderizado con DejaVu Sans:

ingrese la descripción de la imagen aquí

Si bien los caracteres aún se ven idénticos, hay una diferencia considerable en el espaciado. Puede ser una cuestión de gusto si este último es preferible para los números romanos, pero ciertamente no sería una buena elección de interletraje para mayúsculas normales.

Linux Libertine va un paso más allá:

ingrese la descripción de la imagen aquí

Aquí los números romanos son ligeramente más pequeños que las letras mayúsculas, por lo que coinciden con los números arábigos de la fuente. Lo que es más importante, están conectados, reproduciendo una característica que a menudo se encuentra en los números romanos dibujados a mano.

Ahora, algunos aún pueden argumentar que no hay mejoras en lo anterior o que no vale la pena el esfuerzo. Entonces, aquí hay un caso en el que no usar los caracteres Unicode producirá resultados horribles:

ingrese la descripción de la imagen aquí

(Tenga en cuenta que el tamaño pequeño de los números refleja una composición tipográfica histórica real). Algo similar puede ocurrir con las fuentes de escritura o caligráficas.

Sin puntos Unicode específicos para números romanos, resolver este último problema solo sería posible con:

  • Usando una característica compleja de OpenType (o similar) que intenta detectar si una secuencia de letras mayúsculas es un número romano. Esto inevitablemente causará problemas con palabras que también serían números romanos válidos.

  • Usando una función OpenType simple, que debe activarse manualmente para cada número romano.

  • Uso del área de uso privado de Unicode. Es probable que surjan problemas de compatibilidad incluso al cambiar entre dos fuentes que admitan números romanos.

Desde el punto de vista de Unicode, la enorme diferencia semántica entre las letras latinas mayúsculas y los números romanos ya debería haber sido suficiente para una codificación separada de los números romanos.

¿Hasta qué punto los números romanos plantean algún problema diferente de los acrónimos y las iniciales, los cuales se manejarían adecuadamente si una fuente incluyera un conjunto de versalitas? Esperaría que los escenarios en los que "VII" debería mostrarse en mayúsculas en lugar de en minúsculas sean los mismos que en los que "NATO" o "PM" deberían mostrarse del mismo modo. Si bien quizás sea bueno tener una forma de conectar las barras transversales con "VII" pero no con "VIP", no estoy seguro de que las barras transversales deban conectarse cuando se usan números dentro del texto .
Muy bien, agregó un poco su semántica ampliada, pero si desea incorporarla en su respuesta, no dude en hacerlo y eliminar la mía.
@supercat: no estoy exactamente seguro de a qué apunta, pero en mi experiencia, en la tipografía moderna, los números romanos siempre tienen un tamaño de mayúscula, mientras que en otros idiomas además del alemán, es concebible usar versalitas para abreviaturas en mayúsculas. En la tipografía de letras negras, usaría una fuente romana para las abreviaturas en mayúsculas y para los números romanos, pero a veces usaría números romanos más pequeños (como arriba) y para algunas ocasiones muy especiales, usaría letras negras en mayúsculas.
@Wrzlprmft: esperaría que los números romanos se imprimieran del mismo tamaño que cosas como "PM" o "NATO"; en algunos contextos, estas cosas se imprimen en mayúsculas de tamaño completo, pero en otros eso las hace resaltar demasiado. Si una fuente tuviera un conjunto de letras mayúsculas cuyo diseño, en relación con el resto de la fuente, fuera apropiado para "PM" o "NATO", creo que también sería adecuado para números romanos.
@supercat: para la fuente romana normal, sí (aunque se puede discutir si esto sería lo mejor que se puede hacer). Pero, ¿qué pasa con las fuentes blackletter y script? Además, ¿qué concluyes de eso?
@Wrzlprmft: ¿En qué casos cree que la representación adecuada de las iniciales diferiría de la representación adecuada de los números romanos? Personalmente, creo que Unicode debería haber incluido 26 caracteres para "Roman A" a "Roman Z", que serían adecuados para tales fines.
@supercat: ¿En qué casos cree que la representación correcta de las iniciales diferiría de la representación adecuada de los números romanos? – Al usar tipografías tipográficas o script, usaría letras mayúsculas normales para la mayoría de las iniciales (como PM ) y solo usaría letras romanas para cosas como OTAN y números romanos. Si escribo en alemán, siempre usaría mayúsculas de tamaño completo para cualquier inicial, mientras que los números romanos pueden ser más pequeños.
@supercat: Personalmente, creo que Unicode debería haber incluido 26 caracteres para "Roman A" a "Roman Z", que serían adecuados para tales fines. – Eso no encaja en los paradigmas de Unicode. Cambiar el aspecto de las letras mayúsculas en iniciales es una elección puramente tipográfica y no afecta la semántica. Con el mismo argumento, podría abogar por caracteres Unicode especiales para negritas, cursivas, versalitas, etc., así como cualquier combinación de los mismos. Esto no es para lo que es Unicode. Además, ¿por qué detenerse en los 26 caracteres del alfabeto inglés?
@Wrzlprmft: ¿Hay algún caso en el que las iniciales deban ser algo que no coincida con mayúsculas ni números romanos? Con respecto a la exclusión de las versalitas de Unicode, sugeriría que a veces sirvan como minúsculas y otras como mayúsculas, pero en algunos casos simplemente son lo que son (por ejemplo, en un documento producido a través de OCR de un documento en papel que contiene minúsculas utilizadas para diversos fines). En cuanto a detenerse en 26, no sé qué otras letras en mayúsculas pequeñas se necesitarían que no se pudieran formar usando diacríticos combinados.
@Wrzlprmft: tal vez si Unicode definiera un medio para incrustar ciertos tipos de marcado, tales cosas también podrían incluir versalitas, pero el marcado actualmente está limitado a cosas como caracteres RTL/LTR (que en mi humilde opinión son mucho más problemáticos que cosas como la cursiva). ser). Algo como "MacARTHUR" pero con minúsculas "a" y "c" no debería ser considerado como un objeto de "minúsculas" que contiene "AC" incrustado dentro de un objeto de texto circundante, sino que debería poder representarse dentro de un objeto "plano". Tal vez una solución sería un pseudo-"diacrítico combinado" que convertiría...
...caracteres ordinarios en versalitas, cursiva, negrita, etc.? En los casos en los que tendría sentido dividir algo en un "objeto en cursiva", eso podría hacerse, pero la existencia de tales características no debería impedir representar algo como un objeto "plano".
¿Hay algún caso en el que las iniciales deban ser algo que no coincida ni con mayúsculas ni con números romanos? – No puedo concebir casos en los que las iniciales deban ser algo que no coincida con las letras mayúsculas regulares. En cuanto a la estética, en la composición de letras góticas alemanas, prefiero las mayúsculas romanas de altura completa para ciertas siglas, las mayúsculas romanas de tres cuartos de altura para los números romanos y las mayúsculas góticas para casi todo lo demás.
Con respecto a la exclusión de las versalitas de Unicode, […] en algunos casos simplemente son lo que son (p. ej., en un documento producido a través de OCR de un documento en papel que contiene versalitas que se usan para diversos fines) . ¿Y qué? Unicode no pretende reflejar todo lo que puede ver OCR (y tampoco sería una buena idea). — ¿Qué otras letras en minúsculas se necesitarían que no se pudieran formar usando diacríticos combinados : Ł, ẞ, Ŋ, Þ, Ð, Æ, Œ, Ə, … — En cuanto al resto de esto, creo que esto ha sido discutido varias veces en la lista de correo de Unicode.

TL; DR El consorcio Unicode recomienda usar la letra latina siempre que sea posible y no el número, que se incluyó para compatibilidad con la tipografía de Asia oriental.

La historia completa: (con justificación de la afirmación anterior)

A menos que esté haciendo alguna tipografía de Asia oriental, usar los caracteres numéricos romanos (no arcaicos) de Unicode (U+2160 — U+217F) es un truco.

Estos caracteres se han incluido por motivos de compatibilidad con los estándares de Asia oriental anteriores a Unicode. Estos caracteres permanecen verticales donde el texto de Asia oriental se escribe de arriba a abajo, mientras que, por lo general, el texto en caracteres latinos (por ejemplo, nombres) se escribe de lado en este contexto.

Para citar la última versión del estándar Unicode (v 7.0, cap. 22, p. 20) :

Números romanos. Para la mayoría de los propósitos, es preferible componer los números romanos a partir de secuencias de letras latinas apropiadas. Sin embargo, las variantes en mayúsculas y minúsculas de los números romanos hasta el 12, además de L, C, D y M, se han codificado en el bloque Formas numéricas (U+2150..U+218F) para compatibilidad con los estándares de Asia oriental. A diferencia de las secuencias de letras latinas, estos símbolos permanecen en posición vertical en disposición vertical. Además, en ciertos lugares, los formatos de fecha compactos usan números romanos para el mes, pero pueden esperar el uso de un solo carácter.

Entonces, en teoría, la distinción entre números romanos y letras es una cuestión de texto enriquecido, como cursiva, un cambio de fuente o ligaduras opcionales. Dicho esto, como muestra @Wrzlprmft, algunas fuentes lo usan para evitar un cambio de fuente para cada número romano mientras mantienen una buena tipografía.

La existencia de un carácter para XII y no para XIII implica que hay varias codificaciones diferentes del mismo número, lo que genera dificultades en la búsqueda de texto: si escribe sobre Luis XII y Luis XIII, probablemente escribirá XIII como X+I+ I+I, pero ¿escribirás XII como un solo carácter? ¿O como X+I+I para tener una visualización consistente con XIII? No hay una sola respuesta buena a esta pregunta cuando se usan los caracteres de números romanos, y es por eso que el consorcio Unicode recomienda usar las letras latinas cuando sea posible y no los números.

Editar: agregó la afirmación TL;DR al principio

" el consorcio Unicode recomienda usar las letras latinas cuando sea posible y no los números". Esto debería ser mucho más prominente de lo que es actualmente.
Desde el punto de vista de la semántica de Unicode, esta es, con mucho, la mejor respuesta aquí. Puede haber razones prácticas con ciertas fuentes para preferir los caracteres de números romanos, y eso es, por supuesto, una consideración de diseño gráfico independiente, pero semánticamente siempre son incorrectos.

Desde una perspectiva de cómo se ve, puede que no haya mucha diferencia. Entonces, si publica solo material impreso, entonces no hay diferencia, excepto en algunas fuentes, como señala Wrzlprmft en su excelente respuesta.

La semántica es importante

La diferencia semántica es enorme. Al usar números romanos, queda muy claro que estás hablando del número 5 en lugar de la letra V. Seguro que se ven iguales, pero significan diferente. Eso significaría que el motor de búsqueda podría tener una mayor probabilidad de encontrar "XX marca V" cuando busca "XX versión 5".

De hecho, la razón por la que algunas cosas funcionan mal es porque no incrustamos información semántica. De hecho, el mundo sería un lugar mejor si lo hiciéramos. Por lo tanto, usar el significado semántico correcto es casi lo mismo que usar estilos en un procesador de textos en lugar de diseñarlos manualmente. Hay poca diferencia en el lado humano, pero un gran poder en la automatización.

Las fuentes deben hacer diferentes números romanos

Los creadores de fuentes realmente no los usan porque no se usan con mucha frecuencia. Pero al usar estos, podría obtener losas de números romanos en las letras que las diferencian del texto. Por lo tanto, la función está infrautilizada porque es un uso raro. Las fuentes realmente no implementan todo, ni deberían hacerlo. Al usarlos, se beneficiaría si estuvieran presentes.

Conclusión

Todo esto es ciertamente un problema del tipo del huevo y la gallina. Si las personas no usan los rangos de caracteres especiales, no se harán concesiones especiales para esos rangos. Por lo tanto, la fuente no admitirá literales romanos de estilo especial, porque hacerlo sería desperdiciar el esfuerzo en características que nadie usa. Lo mismo se aplica a la búsqueda: si nadie usa literales romanos, ningún motor de búsqueda encontrará literales romanos y la semántica se perderá. La semántica sufre por no adoptar el significado semántico correcto. Esto mismo ciertamente se aplica a una gama más amplia de caracteres Unicode.

En cuanto a la complejidad de entrada, sí, la mayoría de los usuarios no pueden escribir caracteres extendidos, pero eso no es excusa para que una persona con conocimientos no lo haga si tiene sentido. Si nadie mejora las cosas, nunca se logrará ningún progreso. Diablos, incluso Word tiene modos para escribir alfa escribiendo /alfa. Así que realmente no hay ninguna razón por la que no pueda haber una manera fácil de etiquetar números o incluso sugerirlos automáticamente como tales. Nuevamente, si nadie hace esto, nunca obtendrá una adopción más generalizada.

En realidad, un motor de búsqueda arroja resultados mucho mejores cuando busca "Louis VII" en lugar de "Louis Ⅶ", probablemente porque en realidad la mayor parte del contenido se genera con herramientas que no permiten una distinción semántica tan fina.
@xpereta sí porque a la gente no le importa la semántica. Sin embargo, si lo hicieran, también coincidirías fácilmente con 7 para los números. Gran parte de la ineficiencia en el mundo se debe a que las personas no consideran importante señalar explícitamente la diferencia semántica de las cosas cuando podrían hacerlo fácilmente. La computadora realmente no sabe la diferencia incluso si un humano
@joojaa En este caso, probablemente tenga más que ver con el hecho de que VII es mucho más fácil de escribir que Ⅶ. No estoy seguro de si eso cambiará alguna vez.
Ampliaría un poco el último párrafo para terminar su conclusión de que un uso más amplio de caracteres especiales como este fomentaría una implementación de fuente más amplia.
@NathanTuggy agregó algunas cosas que surgieron en los comentarios
Cuestiono fuertemente esta respuesta con respecto a la semántica. Los caracteres numéricos romanos de Unicode son <compat>equivalentes a las secuencias correspondientes de letras latinas, lo que sugiere que la única razón por la que están en Unicode es la compatibilidad de ida y vuelta con algunos conjuntos de caracteres heredados (probablemente CJK) que los tenían. Por lo general, estos caracteres no deben usarse, excepto para documentos de ida y vuelta fieles creados en codificaciones heredadas.