stringtranslate.com

Caracteres de compatibilidad Unicode

En Unicode y UCS , un carácter de compatibilidad es un carácter que se codifica únicamente para mantener la convertibilidad de ida y vuelta con otros estándares, a menudo más antiguos. [1] Como dice el glosario Unicode:

Un carácter que no habría sido codificado si no fuera por la compatibilidad y la convertibilidad de ida y vuelta con otros estándares [2]

Aunque la compatibilidad se utiliza en los nombres, no se marca como una propiedad. Sin embargo, la definición es más complicada de lo que revela el glosario. Una de las propiedades que el consorcio Unicode otorga a los caracteres es la descomposición de los caracteres o descomposición de compatibilidad . Más de cinco mil caracteres tienen una descomposición de compatibilidad que asigna ese carácter de compatibilidad a uno o más caracteres UCS. Al establecer la propiedad de descomposición de un carácter, Unicode establece ese carácter como un carácter de compatibilidad. Las razones para estas designaciones de compatibilidad son variadas y se analizan con más detalle a continuación. El término descomposición a veces confunde porque la descomposición de un carácter puede, en algunos casos, ser un singleton. En estos casos, la descomposición de un carácter es simplemente otro carácter aproximadamente (pero no canónicamente) equivalente .

Tipos de caracteres y palabras clave de compatibilidad

La propiedad de descomposición de compatibilidad para los 5.402 caracteres de compatibilidad Unicode [ ¿cuándo? ] incluye una palabra clave que divide los caracteres de compatibilidad en 17 grupos lógicos. Los caracteres con una descomposición de compatibilidad pero sin una palabra clave se denominan caracteres descomponibles canónicos y no son caracteres de compatibilidad. Las palabras clave para caracteres descomponibles por compatibilidad incluyen: <initial>, <medial>, <final>, <isolado>, <ancho>, <estrecho>, <pequeño>, <cuadrado>, <vertical>, <círculo>, <sinBreak>, <fracción>, <sub>, <super> y <compat>. Estas palabras clave proporcionan alguna indicación de la relación entre el carácter de compatibilidad y su secuencia de caracteres de descomposición por compatibilidad. Los caracteres de compatibilidad se dividen en tres categorías básicas:

  1. Caracteres correspondientes a múltiples formas de glifos alternativos y diacríticos precompuestos para admitir implementaciones de software y fuentes que no incluyen capacidades completas de diseño de texto Unicode.
  2. Caracteres incluidos de otros conjuntos de caracteres o agregados de otro modo al UCS que constituyen texto enriquecido en lugar de los objetivos de texto simple de Unicode.
  3. Algunos otros caracteres que son semánticamente distintos, pero visualmente similares .

Dado que estos caracteres semánticamente distintos pueden mostrarse con glifos similares a los glifos de otros caracteres, el software de procesamiento de texto debe intentar solucionar la posible confusión para el beneficio de los usuarios finales. Al comparar y cotejar (ordenar) cadenas de texto, las diferentes formas y variantes de texto enriquecido de los caracteres no deben alterar los resultados del procesamiento de texto. Por ejemplo, los usuarios de software pueden confundirse al realizar una búsqueda en una página de una letra latina mayúscula "I" y su aplicación de software no puede encontrar el número romano visualmente similar "Ⅰ".

Tipos de asignaciones de compatibilidad

Sustitución y composición de glifos

Algunos caracteres de compatibilidad son completamente prescindibles para el software de procesamiento y visualización de texto que cumple con el estándar Unicode. Entre ellos se incluyen:

Ligaduras
Las ligaduras como "ffi" en la escritura latina solían codificarse como un carácter independiente en los conjuntos de caracteres heredados. El enfoque de Unicode con respecto a las ligaduras es tratarlas como texto enriquecido y, si están activadas, manejarlas mediante la sustitución de glifos.
Números romanos precompuestos
Por ejemplo, el número romano doce ('Ⅻ': U+216B) se puede descomponer en un número romano diez ('Ⅹ': U+2169) y dos números romanos unos ('Ⅰ': U+2160). Los caracteres precompuestos se encuentran en el bloque Formas numéricas .
Fracciones precompuestas
Estas descomposiciones tienen la palabra clave <fracción>. Un manejador de texto totalmente conforme debería [3] mostrar la fracción vulgar ¼ (U+00BC) de manera idéntica a la fracción compuesta 1⁄4 (número 1 con barra de fracción U+2044 y número 4). Los caracteres precompuestos se encuentran en el bloque Formas numéricas .
Glifos o formas contextuales
Estos surgen principalmente en la escritura árabe. Al utilizar fuentes con capacidades de sustitución de glifos, como OpenType y TrueTypeGX , el software compatible con Unicode puede sustituir los glifos adecuados por el mismo carácter dependiendo de si ese carácter aparece al principio, al final, en el medio de una palabra o de forma aislada. Dicha sustitución de glifos también es necesaria para el diseño de texto vertical (de arriba a abajo) para algunos idiomas del este de Asia. En este caso, los glifos deben sustituirse o sintetizarse para formas de glifos anchos, estrechos, pequeños y cuadrados. El software no compatible o el software que utiliza otros conjuntos de caracteres utiliza en su lugar varios caracteres separados para la misma letra dependiendo de su posición, lo que complica aún más el procesamiento del texto.

El UCS, las propiedades de caracteres Unicode y los algoritmos Unicode proporcionan a las implementaciones de software todo lo necesario para mostrar correctamente estos caracteres a partir de sus equivalentes de descomposición. Por lo tanto, estos caracteres de compatibilidad descomponibles se vuelven redundantes e innecesarios. Su existencia en el conjunto de caracteres requiere un procesamiento de texto adicional para garantizar que el texto se compare y recopile correctamente (consulte Normalización Unicode ). Además, estos caracteres de compatibilidad no proporcionan una semántica adicional o distinta. Tampoco proporcionan una representación visualmente distinta siempre que el diseño del texto y las fuentes sean conformes con Unicode. Además, ninguno de estos caracteres es necesario para la convertibilidad de ida y vuelta a otros conjuntos de caracteres, ya que la transliteración puede asignar fácilmente caracteres descompuestos a contrapartes precompuestas en otro conjunto de caracteres. De manera similar, las formas contextuales, como una letra árabe final, se pueden asignar en función de su posición dentro de una palabra al carácter de forma del conjunto de caracteres heredado adecuado.

Para poder prescindir de estos caracteres de compatibilidad, el software de texto debe cumplir varios protocolos Unicode. El software debe ser capaz de:

  1. Componer grafemas marcados diacríticos a partir de caracteres de letras y una o más marcas diacríticas de combinación separadas.
  2. Sustituir (a discreción del autor o del lector) ligaduras y variantes de glifos contextuales.
  3. Disponga el texto CJKV verticalmente (a discreción del autor o del lector), sustituyendo los glifos por formas cuadradas pequeñas, verticales, estrechas y anchas, ya sea a partir de datos de fuentes o sintetizados según sea necesario.
  4. Combine fracciones utilizando el carácter ' Barra de fracción ' (⁄U+2044) y cualquier otro carácter arbitrario.
  5. Combine una ' Superposición de sólido largo combinado ' ( ̸ U+0338) con otros símbolos: por ejemplo, ∄ o ∄ para ∄ (U+2203).

En total, estos caracteres de compatibilidad incluidos para implementaciones Unicode incompletas suman 3779 de los 5402 caracteres de compatibilidad designados. Entre ellos se incluyen todos los caracteres de compatibilidad marcados con las palabras clave <initial>, <medial>, <final>, <isolado>, <fraction>, <wide>, <narrow>, <small>, <vertical>, <square>. También incluye casi todos los caracteres de compatibilidad canónicos y la mayoría de los caracteres de compatibilidad de la palabra clave <compat> (las excepciones incluyen los caracteres de la palabra clave <compat> para alfanuméricos encerrados, ideogramas encerrados y los que se analizan en § Caracteres semánticamente distintos).

Caracteres de compatibilidad de texto enriquecido

Muchos otros caracteres de compatibilidad constituyen lo que Unicode considera texto enriquecido y, por lo tanto, quedan fuera de los objetivos de Unicode y UCS. En cierto sentido, incluso los caracteres de compatibilidad analizados en la sección anterior (aquellos que ayudan al software heredado a mostrar ligaduras y texto vertical) constituyen una forma de texto enriquecido, ya que los protocolos de texto enriquecido determinan si el texto se muestra de una forma u otra. Sin embargo, la elección de mostrar el texto con o sin ligaduras o en vertical u horizontal son textos enriquecidos no semánticos. Son simplemente diferencias de estilo. Esto contrasta con otros textos enriquecidos, como cursivas, superíndices y subíndices, o marcadores de lista, donde el estilo del texto enriquecido implica cierta semántica junto con él.

Para comparar, cotejar, manejar y almacenar texto simple, las variantes de texto enriquecido son semánticamente redundantes. Por ejemplo, usar un carácter superíndice para el número 4 probablemente no se pueda distinguir de usar el carácter estándar para un número 4 y luego usar protocolos de texto enriquecido para convertirlo en superíndice. Por lo tanto, estos caracteres de texto enriquecido alternativos crean ambigüedad porque parecen visualmente iguales a sus caracteres homólogos de texto simple con formato de texto enriquecido aplicado. Estos caracteres de compatibilidad de texto enriquecido incluyen:

Símbolos Alfanuméricos Matemáticos
Estos símbolos son simplemente clones de los alfabetos latino y griego y de los dígitos decimales índico-arábigos repetidos en 15 tipos de letra diferentes. Su objetivo es crear una paleta arbitraria para la notación matemática. Sin embargo, tienden a socavar la distinción entre la codificación de caracteres y la codificación de glifos visuales, así como los objetivos de Unicode de admitir únicamente caracteres de texto sin formato. Este estilo alternativo para una paleta de símbolos matemáticos se podría crear fácilmente mediante protocolos de texto enriquecido.
Alfanuméricos e ideogramas (marcadores) adjuntos
Se trata de caracteres incluidos principalmente para marcadores de listas. No constituyen caracteres de texto simple. Además, el uso de otros protocolos de texto enriquecido es más apropiado, ya que el conjunto de caracteres alfanuméricos o ideográficos incluidos en el UCS es limitado.
Alfanuméricos y ideogramas en círculos
Las formas encerradas en círculos también se pueden usar como marcadores. Nuevamente, el uso de caracteres junto con protocolos de texto enriquecido para encerrar cadenas de caracteres es más flexible.
Espacios y espacios sin interrupción de anchos variables
Estos caracteres son simplemente variantes de texto enriquecido del espacio central (U+0020) y del espacio sin interrupción (U+00A0). En su lugar, se deben utilizar otros protocolos de texto enriquecido, como los atributos de espaciado entre palabras, interletraje o ajuste de espacio entre palabras.
Algunos caracteres en forma de subíndice y superíndice
Muchos de los caracteres subíndices y superíndices son en realidad caracteres semánticamente distintos del Alfabeto Fonético Internacional y otros sistemas de escritura y no entran realmente en la categoría de texto enriquecido. Sin embargo, otros simplemente constituyen formas de presentación de texto enriquecido de otros caracteres griegos, latinos y numerales. Por lo tanto, estos caracteres superíndices y subíndices de texto enriquecido pertenecen propiamente a esta categoría de caracteres de compatibilidad de texto enriquecido. La mayoría de ellos se encuentran en los bloques "Superíndices y subíndices" o "Latín básico".

En el caso de todos estos caracteres de compatibilidad de texto enriquecido, la visualización de los glifos suele ser distinta de la de sus caracteres de descomposición de compatibilidad (relacionados). Sin embargo, estos se consideran caracteres de compatibilidad y el consorcio Unicode desaconseja su uso porque no son caracteres de texto simple, que es lo que Unicode busca admitir con su UCS y protocolos asociados. El texto enriquecido debe manejarse mediante protocolos que no sean Unicode, como HTML, CSS, RTF y otros protocolos similares.

Los caracteres de compatibilidad de texto enriquecido comprenden 1.451 [ cita requerida ] de los 5.402 caracteres de compatibilidad. Estos incluyen todos los caracteres de compatibilidad marcados con las palabras clave <circle> y <font> (excepto tres enumerados en la lista de semánticamente distintos a continuación); 11 variantes de espacios de <compat> y caracteres canónicos; y algunas de las palabras clave <superscript> y <subscript> del bloque "Superíndices y subíndices".

Caracteres semánticamente distintos

Muchos caracteres de compatibilidad son caracteres semánticamente distintos, aunque pueden compartir glifos representativos con otros caracteres. Algunos de estos caracteres pueden haber sido incluidos porque la mayoría de los otros conjuntos de caracteres se centraban en una escritura o sistema de escritura. Así, por ejemplo, la ISO y otros conjuntos de caracteres latinos probablemente incluyeron un carácter para π (pi) ya que, al centrarse principalmente en un sistema de escritura o escritura, esos conjuntos de caracteres no habrían tenido caracteres para el símbolo matemático común π;. Sin embargo, con Unicode, los matemáticos tienen la libertad de utilizar caracteres de cualquier escritura conocida en el mundo para sustituir a un conjunto matemático o una constante matemática. Hasta la fecha, Unicode solo ha añadido soporte semántico específico para unas pocas constantes matemáticas de este tipo (por ejemplo, la constante de Planck, U+210E, y la constante de Euler, U+2107, ambas consideradas por Unicode como caracteres de compatibilidad). Por lo tanto, Unicode designa varios símbolos matemáticos basados ​​en letras del griego y el hebreo como caracteres de compatibilidad. Estos incluyen:

Si bien estos caracteres de compatibilidad se distinguen de sus caracteres de descomposición de compatibilidad solo por la adición de la palabra "símbolo" a su nombre, representan significados distintos de larga data en las matemáticas escritas. Sin embargo, para todos los efectos prácticos, comparten la misma semántica que su equivalente de compatibilidad, la letra griega o hebrea. Estos pueden considerarse caracteres semánticamente distinguibles en el límite, por lo que no se incluyen en el total.

Aunque no es la intención de Unicode codificar dichas unidades de medida, el repertorio incluye seis (6) símbolos que los autores no deberían utilizar: en su lugar deberían utilizarse las descomposiciones de los caracteres. [4] [5]

Unicode también designa otros 22 símbolos similares a letras como caracteres de compatibilidad. [5]

Además, varias escrituras utilizan la posición de los glifos, como los superíndices y subíndices, para diferenciar la semántica. En estos casos, los subíndices y superíndices no son simplemente texto enriquecido, sino que constituyen un carácter distintivo en el sistema de escritura (130 en total).

Finalmente, Unicode designa los números romanos como equivalencia de compatibilidad con las letras latinas que comparten los mismos glifos. [ cita requerida ]

El número romano Mil en realidad tiene un tercer carácter que representa una tercera forma o glifo para la misma unidad semántica: Mil CD (ↀ U+2180). A partir de este glifo, se puede ver de dónde puede haber surgido la práctica de usar una M latina. Curiosamente, aunque Unicode unifica los números romanos con valor de signo con las letras latinas muy diferentes [ cita requerida ] (aunque visualmente similares), los números decimales con valor de lugar (posicionales) del índico árabe se repiten 24 veces (un total de 240 puntos de código para 10 números) en todo el UCS sin ningún mapeo relacional o de descomposición entre ellos.

La presencia de estos 167 caracteres semánticamente distintos aunque visualmente similares (más los 11 símbolos basados ​​en letras hebreas y griegas y los 6 símbolos de unidades de medida) entre los caracteres descomponibles complica el tema de los caracteres de compatibilidad. El estándar Unicode desalienta el uso de caracteres de compatibilidad por parte de los autores de contenido. Sin embargo, en ciertas áreas especializadas, estos caracteres son importantes y bastante similares a otros caracteres que no se han incluido entre los caracteres de compatibilidad. Por ejemplo, en ciertos círculos académicos, el uso de números romanos como distintos de las letras latinas que comparten los mismos glifos no sería diferente del uso de números cuneiformes o números griegos antiguos. La fusión de los caracteres de números romanos con caracteres de letras latinas elimina una distinción semántica. Una situación similar existe para los caracteres del alfabeto fonético que utilizan glifos posicionados en subíndice o superíndice. En los círculos especializados que utilizan alfabetos fonéticos, los autores deberían poder hacerlo sin recurrir a protocolos de texto enriquecido. Como otro ejemplo, los caracteres de compatibilidad de la palabra clave 'círculo' se utilizan a menudo para describir el juego Go . Sin embargo, estos usos de los caracteres de compatibilidad constituyen excepciones en las que el autor tiene una razón especial para utilizar caracteres que de otro modo se desaconsejarían.

Bloques de compatibilidad

Varios bloques de caracteres Unicode incluyen todos o casi todos los caracteres de compatibilidad (U+F900–U+FFEF, excepto los caracteres no característicos). Los bloques de compatibilidad no contienen ninguno de los caracteres de compatibilidad semánticamente distintos, con una sola excepción: el símbolo de la moneda rial (﷼ U+FDFC), por lo que los caracteres descomponibles por compatibilidad en los bloques de compatibilidad caen inequívocamente en el conjunto de caracteres desaconsejados. Unicode recomienda a los autores que utilicen los equivalentes de descomposición por compatibilidad de texto simple y complementen esos caracteres con marcado de texto enriquecido. Este enfoque es mucho más flexible y abierto que utilizar el conjunto finito de caracteres alfanuméricos encerrados en un círculo o entre paréntesis, por dar solo un ejemplo.

Hay una pequeña cantidad de caracteres, incluso dentro de los bloques de compatibilidad, que en sí mismos no son caracteres de compatibilidad y, por lo tanto, pueden confundir a los autores. El bloque "Letras y meses CJK incluidos" contiene un solo carácter no compatible: el "Símbolo estándar coreano" (㉿ U+327F). Ese símbolo y otros 12 caracteres se han incluido en los bloques por razones desconocidas. El bloque "Ideogramas de compatibilidad CJK" contiene estos ideogramas Han unificados no compatibles:

  1. (U+FA0E): 﨎
  2. (U+FA0F): 﨏
  3. (U+FA11): 﨑
  4. (U+FA13): 﨓
  5. (U+FA14): 﨔
  6. (U+FA1F): 﨟
  7. (U+FA21): 﨡
  8. (U+FA23): 﨣
  9. (U+FA24): 﨤
  10. (U+FA27): 﨧
  11. (U+FA28): 﨨
  12. (U+FA29): 﨩

Estos trece caracteres no son caracteres de compatibilidad y su uso no se desaconseja de ninguna manera. Sin embargo, U+27EAF 𧺯, al igual que U+FA23 﨣, está codificado por error en la Extensión B de Ideogramas Unificados del CJK. [6] En cualquier caso, un texto normalizado nunca debe contener tanto U+27EAF 𧺯 como U+FA23 﨣; estos puntos de código representan el mismo carácter, codificado dos veces.

Varios otros caracteres en estos bloques no tienen mapeo de compatibilidad pero están claramente destinados a soporte heredado:

Formas de presentación alfabéticas (1)

  1. Punto hebreo judeoespañol Varika (U+FB1E): ﬞ. Esta es una variante glífica del punto hebreo Rafe (U+05BF): ֿ, aunque Unicode no proporciona una asignación de compatibilidad.

Formularios de presentación en árabe (4)

  1. "Paréntesis izquierdo adornado" (U+FD3E): ﴾. Una variante del glifo para U+0029 ')'
  2. "Paréntesis derecho adornado" (U+FD3F): ﴿. Una variante de glifo para U+0028 '('
  3. "Ligatura Bismillah Ar-Rahman Ar-Raheem" ​​(U+FDFD): ﷽. Bismillah Ar-Rahman Ar-Raheem es una ligadura de Beh (U+0628), Visto (U+0633), Meem (U+0645), Espacio (U+0020), Alef (U+0627), Lam (U+ 0644), Lam (U+0644), Jeh (U+0647), Espacio (U+0020), Alef (U+0627), Lam (U+0644), Reh (U+0631), Hah (U+062D ), Meem (U+0645), Alef (U+0627), Mediodía (U+0646), Espacio (U+0020), Alef (U+0627), Lam (U+0644), Reh (U+0631) , Hah (U+062D), Yeh (U+064A), Meem (U+0645) es decir, بسم الله الرحمان الرحيم [7] (Del mismo modo, U+FDFA y U+FDFB codifican otras dos ligaduras árabes, de 21 y 9 caracteres respectivamente).
  4. "Fragmento de cola árabe" (U+FE73): ﹳ para soportar sistemas de texto sin manejo de glifos contextuales

Formas de compatibilidad del CJK (2 que están relacionadas con el ideograma unificado del CJK: U+4E36 丶)

  1. Punto de sésamo (U+FE45): ﹅
  2. Punto de sésamo blanco (U+FE46): ﹆

Alfanuméricos adjuntos (21 variantes de texto enriquecido)

  1. 10 números negativos encerrados en un círculo (0 y 11 a 20) (U+24FF y U+24EB a U+24F4): ⓫ – ⓴
  2. 11 números con doble círculo (del 0 al 10) (U+24F5 a U+24FE): ⓵ – ⓾

Normalización

La normalización es el proceso mediante el cual el software compatible con Unicode primero realiza una descomposición (o composición) de compatibilidad completa antes de hacer comparaciones o cotejar cadenas de texto.

Véase también

Referencias

  1. ^ "Capítulo 2.3: Compatibilidad de caracteres" (PDF) . El estándar Unicode 6.0.0 .
  2. ^ Consorcio Unicode Glosario Unicode
  3. ^ El Consorcio Unicode (2010). El estándar Unicode, versión 6.0.0 (PDF) . Addison-Wesley Professional. pág. 212. ISBN. 978-0321480910.
  4. ^ Omega, mu, Angstrom, Kelvin: Consorcio Unicode (30 de mayo de 2017). "Informe técnico Unicode n.° 25 / Compatibilidad de Unicode con las matemáticas". pág. 11.
  5. ^ ab ≈ designa la descomposición de compatibilidad según https://www.unicode.org/versions/Unicode15.0.0/ch24.pdf y se muestra en los cuadros de códigos en https://www.unicode.org/charts/nameslist/n_2100.html
  6. ^ IRGN 1218
  7. ^ Gráfico Unicode FB50-FDFF (PDF).

Enlaces externos