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


43

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 preferido sobre la forma habitual de escribir ai, ai-ai, ai-ai-ai, vee-ai, etc.?

Para comenzar desde el principio, en el bloque de Formas de números 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é no se debe usar el último para representar esos dígitos y, por ejemplo, escribir en Louis VIIlugar de Louis Ⅶ. Obviamente, el uso de caracteres no 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:


56

En muchas fuentes, de hecho, no encontrará casi ninguna diferencia entre usar los caracteres Unicode para números romanos y simplemente componerlos a partir de letras latinas. Por ejemplo, lo siguiente muestra 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í

Además de una pequeña diferencia en el espacio, que probablemente no fue intencional, la salida es idéntica.

Aquí está el mismo texto representado 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 opción de interletraje para mayúsculas regulares.

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 más importante es que están conectados, reproduciendo una característica que a menudo se encuentra en números romanos dibujados a mano.

Ahora, algunos aún pueden argumentar que no hay mejoras en lo anterior o que no valen la pena el esfuerzo. Así que 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 pequeño tamaño de los números refleja cierta composición histórica real). Algo similar puede ocurrir con el script o las fuentes caligráficas.

Sin puntos Unicode específicos para números romanos, la solución del último problema solo sería posible con:

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

  • Usando una característica simple de OpenType, que necesita ser activada 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 admiten números romanos.

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


¿Hasta qué punto los números romanos plantean algún problema diferente de los acrónimos y los inicialismos, los cuales se manejarían adecuadamente si una fuente incluye un conjunto de minúsculas? Esperaría que los escenarios en los que "VII" debería mostrarse en mayúsculas en lugar de minúsculas sean los mismos que en los que "OTAN" o "PM" deberían mostrarse de la misma manera. Si bien es bueno tener una forma de conectar barras transversales con "VII" pero no "VIP", no estoy seguro de que las barras transversales se deben conectar cuando se usan números dentro del texto .
supercat

Muy bien agregó un poco su semántica expandida, pero si desea incorporar en su respuesta, siéntase libre de hacer algo y eliminaré la mía.
joojaa

@supercat: no estoy exactamente seguro de lo que está buscando, pero en mi experiencia, en la tipografía moderna, los números romanos siempre tienen aproximadamente el tamaño del capital, mientras que en otros idiomas además del alemán, es concebible usar mayúsculas pequeñas para las abreviaturas en mayúsculas. En la tipografía blackletter, 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 mayúsculas en blackletter.
Wrzlprmft

@Wrzlprmft: esperaría que los números romanos se impriman del mismo tamaño que cosas como "PM" o "OTAN"; en algunos contextos, estas cosas se imprimen como mayúsculas de tamaño completo, pero en otros eso las hace destacar 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 "OTAN", creo que también sería adecuado para números romanos.
Supercat

@supercat: para la fuente romana normal, sí (aunque uno puede discutir si esto sería lo mejor). Pero, ¿qué pasa con blackletter y fuentes de script? Además, ¿qué concluyes de eso?
Wrzlprmft

27

TL; DR El consorcio Unicode recomienda usar la letra latina donde 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 una tipografía de Asia oriental, usar los caracteres de números romanos (no arcaicos) de Unicode (U + 2160 - U + 217F) es un truco.

Estos caracteres se han incluido para compatibilidad con estándares pre-Unicode de Asia Oriental. Estos caracteres permanecen verticales donde el texto de Asia oriental está compuesto 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 las letras latinas apropiadas. Sin embargo, las variantes en mayúsculas y minúsculas de los números romanos hasta el 12, más L, C, D y M, se han codificado en el bloque de Formularios numéricos (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 verticales en disposición vertical. Además, en ciertos entornos locales, 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, manteniendo una buena tipografía.

La existencia de un personaje para XII y no para XIII implica que hay varias codificaciones diferentes con el mismo número, lo que genera dificultades en la búsqueda de texto: si escribe sobre Louis XII y Louis XIII, probablemente escriba XIII como X + I + I + I, pero ¿escribirás XII como un solo personaje? ¿O como X + I + I para tener una pantalla consistente con XIII? No hay una sola respuesta buena a esta pregunta mientras 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: se agregó la aserción TL; DR al principio


99
" 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.
Ixrec

1
Desde el punto de vista de la semántica Unicode, esta es 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 están equivocados.
R ..

13

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, deja en claro que está hablando del número 5 en lugar de la letra V. Seguro que se ven iguales, pero significan diferentes. 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 incorporamos información semántica. El mundo sería un lugar mejor si lo quisiéramos. Por lo tanto, usar el significado semántico correcto es casi lo mismo que usar estilos en un procesador de texto en lugar de diseñar manualmente. Hay poca diferencia en el lado humano, pero gran poder en la automatización.

Las fuentes deben tener diferentes números romanos.

Los creadores de fuentes realmente no los usan porque no se usan con mucha frecuencia. Pero al usarlos, podría obtener las 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 poco frecuente. Las fuentes realmente no implementan todo, ni deberían hacerlo. Al usar estos, se beneficiaría si están presentes.

Conclusión

Todo esto es sin duda un problema de tipo pollo y huevo. Si las personas no usan los rangos de caracteres especiales, entonces no se harán asignaciones especiales para esos rangos. Por lo tanto, la fuente no admitirá literales romanos con un estilo especial, ya que hacerlo sería desperdiciar el esfuerzo en funciones que nadie usa. Lo mismo se aplica a la búsqueda: si nadie usa literales romanos, entonces 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. Ciertamente, lo mismo 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 omita hacerlo si tiene sentido. Si nadie mejora las cosas, nunca se logrará ningún progreso. Incluso la palabra tiene modos para escribir alfa escribiendo / alpha. Entonces, realmente no hay razón por la cual no podría haber una manera fácil de etiquetar números o incluso sugerirlos automáticamente como tales. De nuevo, si nadie hace esto, nunca tendrá una adopción más generalizada.


En realidad, un motor de búsqueda arroja resultados mucho mejores al buscar "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

1
@xpereta sí porque a la gente no le importa la semántica. Sin embargo, si lo hicieran, también coincidiría 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 la diferencia semántica de las cosas explícitamente cuando podrían hacerlo fácilmente. La computadora realmente no conoce la diferencia, incluso si un humano lo
supiera

1
@joojaa En este caso, probablemente tenga más que ver con el hecho de que VII es órdenes de magnitud más fáciles de escribir que Ⅶ. No estoy seguro de si eso cambiará alguna vez.
Ixrec

Extenderé 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.
Nathan Tuggy

2
Cuestiono fuertemente esta respuesta con respecto a la semántica. Los caracteres numéricos romanos 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 para la compatibilidad de ida y vuelta con algunos conjuntos de caracteres heredados (probablemente CJK) que los tenían. Tales caracteres generalmente no deben usarse, excepto para documentos de ida y vuelta fieles creados en codificaciones heredadas.
R ..
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.