En ortografía y tipografía , un homoglifo es uno de dos o más grafemas , caracteres o glifos con formas que parecen idénticas o muy similares pero que pueden tener significados diferentes. La designación también se aplica a secuencias de caracteres que comparten estas propiedades.
En 2008, el Consorcio Unicode publicó su Informe Técnico #36 [1] sobre una serie de cuestiones derivadas de la similitud visual de caracteres tanto en escrituras individuales como de similitudes entre caracteres en escrituras diferentes.
Ejemplos de símbolos homoglíficos son (a) la diéresis y la diéresis (ambos un par de puntos, pero con diferente significado, aunque codificados con los mismos puntos de código ); y (b) el guión y el signo menos (ambos un trazo horizontal corto, pero con diferente significado, aunque a menudo codificados con el mismo punto de código ). Entre los dígitos y las letras , el dígito 1 y la l minúscula siempre se codifican por separado, pero en muchos tipos de letra se les dan glifos muy similares, y el dígito 0 y la O mayúscula siempre se codifican por separado, pero en muchos tipos de letra se les dan glifos muy similares. Virtualmente cada ejemplo de un par de caracteres homoglíficos puede potencialmente diferenciarse gráficamente con glifos claramente distinguibles y puntos de código separados, pero esto no siempre se hace. Los tipos de letra que no distinguen enfáticamente los homoglifos uno/el y cero/oh se consideran inadecuados para escribir fórmulas , URL , código fuente , identificaciones y otro texto donde los caracteres no siempre se pueden diferenciar sin contexto . Las fuentes que distinguen los glifos mediante un cero cortado , por ejemplo, son las preferidas para esos usos.
El término homógrafo a veces se usa incorrectamente como sinónimo de homoglifo, pero en el sentido lingüístico habitual, los homógrafos son palabras que se escriben igual pero tienen significados diferentes, una propiedad de las palabras, no de los caracteres.
Los alógrafos son variantes del diseño tipográfico que tienen un aspecto diferente pero significan lo mismo; por ejemplo, ⟨g⟩ y ⟨g⟩ , o un signo de dólar con uno o dos trazos. El término sinoglifo tiene un significado similar pero un poco más abstracto; por ejemplo, el símbolo ⟨£⟩ y la letra ⟨L⟩ (en Lsd ) significan la libra esterlina , [2] pero solo en ese contexto. Los alógrafos y los sinoglifos también se conocen informalmente como variantes de visualización .
En la época de las primeras máquinas de escribir mecánicas, se escribían con la misma tecla (utilizando la técnica de "retroceso y sobreescritura"), que también se utilizaba para la coma doble. Sin embargo, la diéresis se originó específicamente como un par de líneas verticales cortas (no dos puntos) (véase Sutterlin ). Por cierto, los dos puntos sobre la letra E en albanés se describen como diéresis, pero no cumplen la función de una diéresis. [3]
Dos conjuntos de homoglifos comunes e importantes que se utilizan hoy en día son el dígito cero y la letra mayúscula O (es decir, 0 y O); y el dígito uno, la letra minúscula L y la i mayúscula (es decir, 1, l e I). En los primeros tiempos de las máquinas de escribir mecánicas, había muy poca o ninguna diferencia visual entre estos glifos, y los mecanógrafos los trataban indistintamente como atajos de teclado. De hecho, la mayoría de los teclados ni siquiera tenían una tecla para el dígito "1", lo que obligaba a los usuarios a escribir la letra "l" en su lugar, y algunos también omitían el 0. A medida que estos mismos mecanógrafos hicieron la transición en los años 1970 y 1980 a operadores de teclados de computadora, sus viejos hábitos de mecanografía continuaron con ellos, y fueron una fuente ocasional de confusión.
La mayoría de los diseños tipográficos actuales distinguen cuidadosamente entre estos homoglifos, generalmente dibujando el dígito cero más angosto y dibujando el dígito uno con serifas prominentes . Las primeras impresiones por computadora fueron incluso más allá y marcaron el cero con una barra o punto, lo que llevó a un nuevo conflicto entre la letra escandinava " Ø " y la letra griega Φ ( phi ). El rediseño de los tipos de caracteres para diferenciar estos caracteres ha significado menos confusión. El grado en el que dos caracteres diferentes parecen iguales para un observador determinado se llama "similitud visual". [4]
Algunos diseños tipográficos cumplen con el estándar de legibilidad DIN 1450 al diseñar cuidadosamente dichos caracteres para que sean fáciles de distinguir: el cero con barra para distinguirlo de la O mayúscula; la l minúscula con cola y la I mayúscula con serifas para distinguirla del dígito 1; distinguir el numeral 5 de la S mayúscula; etc. [5]
Un ejemplo de confusión debido a los casi homoglíficos surgió del uso de una ⟨y⟩ para representar una ⟨þ⟩ ( espina ). Los primeros tipógrafos ingleses importaron tipos holandeses que no contenían este último carácter, por lo que utilizaron la letra ⟨y⟩ en su lugar porque (en la tipografía Blackletter ) se ven suficientemente similares. [6] Ha llevado en los tiempos modernos a fenómenos como Ye olde shoppe , lo que implica incorrectamente que la palabra the se escribía anteriormente ye / j iː / en lugar de þe . La ortografía del nombre Menzies (pronunciado Mengis y originalmente escrito Menȝies ) surgió por la misma razón: la letra ⟨z⟩ fue sustituida por ⟨ȝ⟩ ( yogh ).
Algunas otras combinaciones de letras parecen similares, por ejemplo, rn parece similar a m , cl parece similar a d y vv parece similar a w .
En ciertas fuentes con espacios estrechos (como Tahoma ), colocar la letra c junto a una letra como j, l o i creará un homoglifo, como cj cl ci (gda).
Cuando algunos caracteres se colocan uno al lado del otro, vistos juntos a simple vista dan la impresión visual de otro carácter no relacionado. Una forma más precisa de decir esto es que algunas ligaduras tipográficas pueden parecer similares a glifos independientes. Por ejemplo, la ligadura fi ( fi ) puede parecer similar a A en algunos tipos de letra o fuentes. Esta posibilidad de confusión es a veces un argumento en contra del uso de ligaduras. [ cita requerida ]
Unicode tiene puntos de código para muchos caracteres fuertemente homoglíficos, conocidos como "confundibles". [1] Estos presentan riesgos de seguridad en una variedad de situaciones (abordados en UTR#36) [7] y se les llamó la atención particularmente en relación con los nombres de dominio internacionalizados . Al menos en teoría, uno podría falsificar deliberadamente un nombre de dominio reemplazando un carácter con su homóglifo, creando así un segundo nombre de dominio, no fácilmente distinguible del primero, que puede ser explotado en phishing ( ver el artículo principal Ataque homógrafo de IDN ). En muchos tipos de letra , la letra griega 'Α', la letra cirílica 'А' y la letra latina 'A' son visualmente idénticas, al igual que la letra latina 'a' y la letra cirílica 'а' (lo mismo se puede aplicar a las letras latinas "aBceHKopTxy" y las letras cirílicas " аВсеНКорТху "). Un nombre de dominio puede ser falsificado simplemente sustituyendo una de estas formas por otra en un nombre registrado por separado. También hay muchos ejemplos de casi homoglíficos dentro del mismo alfabeto, como 'í' (con acento agudo) e 'i', É (E-agudo) y Ė (E punto arriba) y È (E-grave), Í (con acento agudo) y ĺ (L minúscula con acento agudo). Al analizar este problema de seguridad específico, dos secuencias cualesquiera de caracteres similares pueden evaluarse en términos de su potencial para ser tomadas como un 'par de homoglíficos', o si las secuencias parecen claramente palabras, como 'pseudohomógrafos' (teniendo en cuenta nuevamente que estos términos pueden causar confusión en otros contextos). En el idioma chino , muchos caracteres chinos simplificados son homóglifos de los caracteres chinos tradicionales correspondientes .
Los esfuerzos de los registros de TLD y los diseñadores de navegadores web apuntan a minimizar los riesgos de confusión homoglífica. Comúnmente, esto se logra prohibiendo nombres que mezclan conjuntos de caracteres de múltiples idiomas ( toys-Я-us.org , que utiliza la letra cirílica Я , no sería válido, pero wíkipedia.org y wikipedia.org aún existen como sitios web diferentes); el registro .ca de Canadá va un paso más allá al requerir que los nombres que difieren solo en diacríticos tengan el mismo propietario y el mismo registrador. [8] El manejo de los caracteres chinos varía: en .org y .info, el registro de una variante hace que la otra no esté disponible para nadie, mientras que en .biz las versiones tradicional y simplificada del mismo nombre se entregan como un paquete de dos dominios que apuntan al mismo servidor de nombres de dominio .
La documentación relevante se encontrará tanto en los sitios web de los desarrolladores como en un foro IDN [9] proporcionado por ICANN .
En cirílico, la C cirílica no solo se parece a la C latina , sino que también ocupa el mismo botón en los teclados con diseño híbrido JCUKEN-QWERTY. Este matiz de diseño se puede ver en el botón C/C representado en el Monumento al Teclado en Ekaterimburgo .
Los homoglifos de todo tipo se pueden detectar mediante un proceso llamado "canonización dual". [4] El primer paso en este proceso es identificar conjuntos de homoglifos, es decir, caracteres que parecen iguales para un observador determinado. A partir de aquí, se especifica un único token para representar el conjunto de homoglifos. Este token se llama canon. El siguiente paso es convertir cada carácter del texto al canon correspondiente en un proceso llamado canonización . Si los cánones de dos series de texto son los mismos pero el texto original es diferente, entonces existe un homoglifo en el texto.
Los ataques de homoglíficos se pueden mitigar mediante una combinación de concienciación del usuario y medidas proactivas. Es fundamental educar a los usuarios sobre los riesgos asociados a los ataques de homoglíficos, instándolos a inspeccionar meticulosamente las URL antes de hacer clic. [10] El uso de soluciones de seguridad avanzadas, en particular aquellas capaces de escanear en busca de variaciones de homoglíficos en los nombres de dominio, puede automatizar la detección y prevención de amenazas potenciales. Además, la implementación de políticas estrictas de registro y monitoreo de nombres de dominio puede ayudar a identificar y neutralizar los riesgos relacionados con los homoglíficos rápidamente. Al fomentar una cultura de cibervigilancia y aprovechar tecnologías de vanguardia, las organizaciones pueden fortalecer sus defensas contra los ataques de homoglíficos, lo que garantiza un entorno en línea más seguro.
Los tipos utilizados por Caxton y sus contemporáneos se originaron en Holanda y Bélgica, y no permitieron el uso continuo de elementos del alfabeto inglés antiguo como thorn <þ>, eth <ð> y yogh <ʒ>. La sustitución de formas tipográficas visualmente similares ha dado lugar a algunas anomalías que persisten hasta el día de hoy en la reimpresión de textos arcaicos y la ortografía de palabras regionales. El ampliamente malentendido 'ye' surge a partir de un hábito de uso de los impresores que se origina en la época de Caxton, cuando los impresores sustituían la <y> (a menudo acompañada por un superíndice <e>) en lugar de la thorn <þ> o la eth <ð>, las cuales se usaban para denotar los sonidos sonoros y no sonoros, /ð/ y /θ/ (Anderson, D. (1969) The Art of Written Forms. Nueva York: Holt, Rinehart y Winston, pág. 169)