El texto Zalgo parece una tipografía que se ha escapado de su línea:
Z̴̡̛̫̹̿a̵̡̳̋l̴̙̓g̶̤̈o̷̜̽
No es una imagen y normalmente tampoco una fuente dañada. El efecto aparece al colocar muchas marcas combinantes después de caracteres base normales.
Qué hace una marca combinante
Los sistemas de escritura necesitan acentos, signos vocálicos, tonos y otras marcas relacionadas con un carácter vecino. Unicode codifica muchas como marcas combinantes sin espaciado.
é puede representarse de dos formas:
- el carácter precompuesto U+00E9 LATIN SMALL LETTER E WITH ACUTE;
- U+0065 LATIN SMALL LETTER E seguido de U+0301 COMBINING ACUTE ACCENT.
El segundo punto de código modifica al primero. El motor coloca el acento sobre la letra base sin avanzar el cursor el ancho de otro carácter.
Los generadores Zalgo aprovechan ese mecanismo, pero añaden muchas más marcas de las necesarias para una ortografía normal: encima, debajo y atravesando cada letra.
Por qué pueden apilarse tanto
Los caracteres combinantes tienen una clase combinante canónica que ayuda a ordenar las marcas alrededor de la base. Las fuentes aportan anclajes para las combinaciones habituales. Ante una secuencia extrema, el motor tiene que improvisar.
Una fuente puede apilar las marcas con orden; otra deja que choquen, invadan líneas cercanas o salgan de un botón. La secuencia sigue siendo texto válido, pero la interfaz no fue diseñada para docenas de acentos sobre una letra.
De ahí que el resultado cambie entre navegadores y sistemas operativos. Unicode identifica caracteres y propiedades; la fuente determina su dibujo y posición.
Normalizar no significa «quitar acentos»
La normalización facilita la comparación de secuencias equivalentes. NFC compone una base y un acento cuando existe un carácter precompuesto; NFD descompone muchos caracteres y ambas formas ordenan las marcas de manera canónica.
Ninguna es un limpiador general de Zalgo. La mayoría de las pilas extremas no tiene equivalente precompuesto, así que las marcas continúan después de normalizar.
Un producto que ofrezca «texto limpio» debe decidir qué marcas pertenecen al idioma y cuáles son decoración. Eliminar todas a ciegas daña el vietnamita, el árabe, el hebreo, las escrituras índicas y muchas otras lenguas.
Una letra visible puede contener muchos puntos de código
La segmentación de Unicode mantiene una base y sus marcas dentro de un grupo de grafemas extendido. Así, el cursor puede tratar é como una unidad aunque tenga dos puntos de código.
Zalgo lleva la regla al extremo: una sola letra aparente puede contener diez, veinte o más puntos. Esto sorprende en:
- límites de bases de datos;
- recortes de SMS y notificaciones;
- movimiento del cursor y selección;
- altura de línea y contenido recortado;
- buscadores y sistemas de moderación;
- salida de lectores de pantalla.
Lo que ve una persona no equivale a lo que almacena el ordenador.
Decoración construida sobre infraestructura legítima
Las marcas combinantes no son «caracteres malos». Son esenciales para la escritura digital. El efecto funciona precisamente porque Unicode y los sistemas modernos admiten escrituras complejas.
El riesgo depende del contexto y la cantidad. Las pilas grandes vuelven ilegible una interfaz, agrandan líneas o esconden diferencias que el software sigue procesando. La investigación sobre perturbaciones Unicode también demuestra que caracteres invisibles, homógrafos y reordenamientos pueden confundir sistemas lingüísticos.
Cómo usarlo sin romper la página
- Limita el efecto a un título corto o una palabra.
- Usa intensidad baja o media.
- Revísalo en la aplicación de destino.
- Añade una versión normal cuando el contenido importe.
- Evita cuentas, enlaces, correos y datos de seguridad.
Las interfaces deberían limitar tanto puntos de código como grupos de grafemas, controlar el desbordamiento y probar secuencias combinantes largas. «Parece corto» no significa «cuesta poco guardarlo y dibujarlo».
Zalgo es tipografía por acumulación: las letras base siguen siendo normales, mientras marcas Unicode reales construyen una forma extraordinaria.
El generador de texto glitch permite controlar cuántas marcas se añaden. Empieza con poca intensidad y examina el resultado en el microscopio.