stringtranslate.com

Caracteres de compatibilidad Unicode

En Unicode y UCS , un carácter de compatibilidad es un carácter codificado ú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 se habría codificado excepto por compatibilidad y convertibilidad de ida y vuelta con otros estándares [2]

Aunque la compatibilidad se utiliza en los nombres, no está marcada 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. Los motivos de estas designaciones de compatibilidad son variados y se analizan con más detalle a continuación. El término descomposición a veces resulta confuso 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. Aquellos caracteres con una descomposición de compatibilidad pero sin una palabra clave se denominan caracteres canónicos descomponibles y esos caracteres no son caracteres de compatibilidad. Las palabras clave para caracteres descomponibles de compatibilidad incluyen: <inicial>, <medial>, <final>, <aislado>, <ancho>, <estrecho>, <pequeño>, <cuadrado>, <vertical>, <círculo>, <noBreak> , <fracción>, <sub>, <super> y <compatibilidad>. 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 de compatibilidad. Los personajes de compatibilidad se dividen en tres categorías básicas:

  1. Caracteres correspondientes a múltiples formas de glifos alternativos y signos 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 sin formato de Unicode.
  3. Algunos otros personajes que son semánticamente distintos, pero visualmente similares .

Debido a que estos caracteres semánticamente distintos pueden mostrarse con glifos similares a los de otros caracteres, el software de procesamiento de texto debe intentar abordar la posible confusión por el bien de los usuarios finales. Al comparar y cotejar (clasificar) cadenas de texto, las diferentes formas y variantes de caracteres de texto enriquecido no deberían 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 logra 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 visualización y procesamiento de texto que cumple con el estándar Unicode. Éstas incluyen:

Ligaduras
Las ligaduras como 'ffi' en la escritura latina a menudo se codificaban como un carácter separado en conjuntos de caracteres heredados. El enfoque de Unicode para las ligaduras es tratarlas como texto enriquecido y, si está activado, manejarlas mediante 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 ('Ⅰ': U+2160). Los caracteres precompuestos están en el bloque Formas numéricas .
fracciones precompuestas
Estas descomposiciones tienen la palabra clave <fracción>. Un controlador 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 fraccionaria U+2044 y número 4). Los caracteres precompuestos están en el bloque Formas numéricas .
Glifos o formas contextuales
Estos surgen principalmente en la escritura árabe. Utilizando 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 medio de una palabra o de forma aislada. Esta sustitución de glifos también es necesaria para el diseño de texto vertical (de arriba a abajo) en algunos idiomas del este de Asia. En este caso, los glifos deben sustituirse o sintetizarse por formas de glifos anchos, estrechos, pequeños y cuadrados. El software no conforme 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 los caracteres Unicode y los algoritmos Unicode proporcionan implementaciones de software con 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 juego de caracteres requiere un procesamiento de texto adicional para garantizar que el texto se compare y coteje correctamente (consulte Normalización Unicode ). Además, estos caracteres de compatibilidad no proporcionan una semántica distinta o adicional. Estos caracteres tampoco proporcionan ninguna representación visual distinta siempre que el diseño del texto y las fuentes cumplan 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 apropiado.

Para prescindir de estos caracteres de compatibilidad, el software de texto debe ajustarse a varios protocolos Unicode. El software debe poder:

  1. Redactar grafemas marcados con diacríticos a partir de caracteres alfabéticos y uno o más signos diacríticos combinados separados.
  2. Sustituya (a discreción del autor o del lector) ligaduras y variantes de glifos contextuales.
  3. Diseñe el texto CJKV verticalmente (a discreción del autor o del lector), sustituyendo glifos por formas cuadradas pequeñas, verticales, estrechas y anchas, ya sea a partir de datos de fuente o sintetizados según sea necesario.
  4. Combine fracciones usando el carácter ' Fraction Slash ' (⁄ U+2044) y cualquier otro carácter arbitrario.
  5. Combine una ' Combinación de superposición sólida larga ' ( ̸ U+0338) con otros símbolos: por ejemplo ∄ o ∄ para ∄ (U+2203).

En conjunto, estos caracteres de compatibilidad incluidos para implementaciones Unicode incompletas suman un total de 3779 de los 5402 caracteres de compatibilidad designados. Estos incluyen todos los caracteres de compatibilidad marcados con las palabras clave <inicial>, <medial>, <final>, <aislado>, <fracción>, <ancho>, <estrecho>, <pequeño>, <vertical>, <cuadrado>. . También incluye casi todos los caracteres canónicos y la mayoría de los caracteres de compatibilidad de palabras clave <compat> (las excepciones incluyen los caracteres de palabras clave <compat> para caracteres alfanuméricos adjuntos, ideogramas adjuntos y aquellos discutidos 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, están fuera de los objetivos de Unicode y UCS. En cierto sentido, incluso los caracteres de compatibilidad discutidos 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 manera u otra. Sin embargo, la opción de mostrar texto con o sin ligaduras o verticalmente versus horizontalmente es texto enriquecido no semántico. 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, manipular y almacenar texto sin formato, las variantes de texto enriquecido son semánticamente redundantes. Por ejemplo, usar un carácter de superíndice para el número 4 probablemente no se distinga del uso del 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 aparecen visualmente iguales que sus homólogos de texto sin formato con el 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 dígitos decimales índico-árabe repetidos en 15 tipos de letra diferentes. Están pensados ​​como una paleta arbitraria para la notación matemática. Sin embargo, tienden a socavar la distinción entre codificar caracteres versus codificar glifos visuales, así como los objetivos de Unicode de admitir sólo caracteres de texto sin formato. En su lugar, este estilo alternativo para una paleta de símbolos matemáticos podría crearse fácilmente mediante protocolos de texto enriquecido.
Alfanuméricos e ideogramas (marcadores) adjuntos
Estos son caracteres incluidos principalmente para marcadores de lista. No constituyen caracteres de texto plano. Además, el uso de otros protocolos de texto enriquecido es más apropiado ya que el conjunto de caracteres alfanuméricos o ideogramas incluidos en el UCS es limitado.
Alfanuméricos e ideogramas en círculos
Es probable que las formas rodeadas por círculos también se utilicen como marcadores. Nuevamente, usar caracteres junto con protocolos de texto enriquecido para rodear cadenas de caracteres es más flexible.
Espacios y espacios sin interrupciones de diferentes anchos.
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 atributos de seguimiento, interletraje o espaciado de palabras.
Algunos caracteres en forma de subíndice y superíndice
Muchos de los caracteres de subíndice y superíndice son en realidad caracteres semánticamente distintos del Alfabeto Fonético Internacional y otros sistemas de escritura y en realidad no entran 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 numéricos. Por lo tanto, estos caracteres de superíndice y subíndice 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".

Para todos estos caracteres de compatibilidad de texto enriquecido, la visualización de glifos suele ser distinta 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 sin formato, que es lo que Unicode busca respaldar 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 1451 [ cita necesaria ] de los 5402 caracteres de compatibilidad. Estos incluyen todos los caracteres de compatibilidad marcados con las palabras clave <círculo> y <fuente> (excepto tres que se enumeran 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".

Personajes semánticamente distintos

Muchos caracteres de compatibilidad son caracteres semánticamente distintos, aunque pueden compartir glifos representativos con otros caracteres. Es posible que algunos de estos personajes se hayan incluido porque la mayoría de los demás conjuntos de personajes se centraban en un guión o sistema de escritura. Así, por ejemplo, el ISO y otros conjuntos de caracteres latinos probablemente incluían 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 son libres de utilizar caracteres de cualquier escritura conocida en el mundo para sustituir un conjunto matemático o una constante matemática. Hasta la fecha, Unicode solo ha agregado soporte semántico específico para algunas de estas constantes matemáticas (por ejemplo, la constante de Planck, U+210E, y la constante de Euler, U+2107, las cuales Unicode considera caracteres de compatibilidad). Por lo tanto, Unicode designa varios símbolos matemáticos basados ​​en letras del griego y del hebreo como caracteres de compatibilidad. Éstas incluyen:

Si bien estos caracteres de compatibilidad se distinguen de sus caracteres de descomposición de compatibilidad sólo agregando la palabra "símbolo" a su nombre, representan significados distintos de larga data en las matemáticas escritas. Sin embargo, a todos los efectos prácticos, comparten la misma semántica que su equivalente de compatibilidad con 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 Unicode no tiene la intención de codificar dichas unidades de medida, el repertorio incluye seis (6) símbolos que los autores no deben utilizar: en su lugar, se deben utilizar las descomposiciones de los caracteres.

Unicode también designa otros veintidós (22) símbolos similares a letras como caracteres de compatibilidad.

Además, varias escrituras utilizan la posición de los glifos, como 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 distinto, similar a un híbrido entre un signo diacrítico y una letra [¿ investigación original? ] — 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 necesaria ]

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 pudo haber surgido la práctica de usar una M latina. Curiosamente, aunque Unicode unifica los números romanos de valor de signo con las muy diferentes [ cita necesaria ] (aunque visualmente similares) letras latinas, los números de dígitos decimales de valor posicional (posicionales) árabes índicos 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 desaconseja el uso de caracteres de compatibilidad por parte de los autores de contenido. Sin embargo, en ciertas áreas especializadas, estos personajes son importantes y bastante similares a otros personajes que no han sido incluidos entre los personajes de compatibilidad. Por ejemplo, en ciertos círculos académicos el uso de números romanos a diferencia de las letras latinas que comparten los mismos glifos no sería diferente del uso de números cuneiformes o de números griegos antiguos. Contraer los caracteres de los números romanos a caracteres de letras latinas elimina una distinción semántica. Existe una situación similar 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, la palabra clave "círculo" de caracteres de compatibilidad se utiliza 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 los caracteres que de otro modo no se recomiendan.

Bloques de compatibilidad

Varios bloques de caracteres Unicode incluyen en su totalidad o casi en su totalidad todos los caracteres de compatibilidad (U+F900–U+FFEF excepto los que no son caracteres). Los bloques de compatibilidad no contienen ninguno de los caracteres de compatibilidad semánticamente distintos con una sola excepción: el símbolo de moneda rial (﷼ U+FDFC), por lo que los caracteres de compatibilidad descomponibles en los bloques de compatibilidad caen sin ambigüedades en el conjunto de caracteres no recomendados. Unicode recomienda a los autores utilizar los equivalentes de descomposición de compatibilidad de texto sin formato y complementar 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 o encerrados en un círculo, para dar sólo un ejemplo.

Desafortunadamente, 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 adjuntos" contiene un único carácter de no compatibilidad: 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 "Ideógrafos de compatibilidad CJK" contiene estos ideogramas Han unificados de no compatibilidad:

  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 no se desaconseja su uso de ninguna manera. Sin embargo, U+27EAF 𧺯, al igual que U+FA23 﨣, está codificado erróneamente en la Extensión B de Ideógrafos Unificados de CJK. [4] En cualquier caso, un texto normalizado nunca debe contener U+27EAF 𧺯 y U+FA23 﨣; Estos puntos de código representan el mismo carácter, codificado dos veces.

Varios otros caracteres en estos bloques no tienen asignación de compatibilidad, pero están claramente destinados al soporte heredado:

Formularios de Presentación Alfabética (1)

  1. Punto Hebreo Varika Judeoespañol (U+FB1E): ﬞ. Esta es una variante de glifo del hebreo Point Rafe (U+05BF): ֿ, aunque Unicode no proporciona ningún mapeo de compatibilidad.

Formularios de presentación en árabe (4)

  1. "Paréntesis izquierdo adornado" (U+FD3E): ﴾. Una variante de 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 , بسم الله الرحمان الرحيم [5] (Del mismo modo, U+FDFA y U+FDFB codifican otras dos ligaduras árabes, de 21 y 9 personajes respectivamente.)
  4. "Fragmento de cola árabe" (U+FE73): ﹳ para admitir sistemas de texto sin manejo de glifos contextuales

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

  1. Punto 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 (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 de compatibilidad antes de realizar comparaciones o cotejar cadenas de texto. Esto es similar a otras operaciones necesarias cuando, por ejemplo, un usuario realiza una búsqueda que no distingue entre mayúsculas y minúsculas dentro de algún texto. En tales casos, el software debe igualar o ignorar caracteres que de otro modo no igualaría ni ignoraría. Normalmente, la normalización se realiza sin alterar los datos de texto almacenados subyacentes (sin pérdidas). Sin embargo, algunos programas pueden realizar cambios permanentes en el texto que eliminan las diferencias de caracteres de compatibilidad canónicos o incluso no canónicos del almacenamiento de texto (con pérdida).

Ver también

Referencias

  1. ^ "Capítulo 2.3: Caracteres de compatibilidad" (PDF) . El estándar Unicode 6.0.0 .
  2. ^ Glosario Unicode del consorcio Unicode
  3. ^ El Consorcio Unicode (2010). El estándar Unicode, versión 6.0.0 (PDF) . Profesional de Addison-Wesley. pag. 212.ISBN _ 978-0321480910.
  4. ^ IRGN 1218
  5. ^ Gráfico Unicode FB50-FDFF (PDF).

enlaces externos