Una fuente TrueType que convierte texto entre corchetes en códigos QR

Fuentes: Jim's TrueType QR Code Font, github.com

Una fuente TrueType que convierte texto entre corchetes en códigos QR

Un desarrollador ha creado una fuente tipográfica experimental que transforma texto entre corchetes en códigos QR directamente durante el proceso de renderizado, sin necesidad de generar imágenes externas ni aplicar pasos de preprocesamiento. El proyecto, disponible en el repositorio GitHub del usuario jimparis, combina tipografía digital con codificación de datos en un mismo archivo.

Según la página oficial del proyecto (qr.jim.sh), el mecanismo es tan simple como escribir un texto como [hello], aplicar la fuente y dejar que las reglas OpenType integradas en el archivo .ttf generen el código QR de forma automática. El sitio web ofrece una demo en vivo y enlaces para descargar tres variantes de la fuente, denominadas QR Font 1-L, 2-L y 3-L.

El repositorio de GitHub detalla las especificaciones técnicas de cada versión. La fuente QR Font 1-L trabaja con módulos de 21x21 y admite hasta 17 caracteres; QR Font 2-L utiliza módulos de 25x25 con capacidad para 32 caracteres; y QR Font 3-L, la más grande, opera con módulos de 29x29 y soporta hasta 53 caracteres. Las tres variantes comparten parámetros comunes: modo byte, entrada ASCII imprimible, patrón de máscara fija 0, y los caracteres [ y ] como delimitadores.

El funcionamiento interno es especialmente singular. El script de construcción genera contornos de glifos y reglas GSUB (tablas de sustitución de glifos de OpenType), compilándolas en archivos .ttf funcionales. El proceso incluye un analizador de delimitadores, expansión de bytes, un circuito de paridad Reed-Solomon, colocación de módulos QR y renderizado con máscara fija. Los glifos de texto ASCII imprimible se copian de Liberation Sans Regular, escalados al cuadrado em de la fuente QR, lo que permite que el texto fuera de los bloques QR se renderice normalmente con la misma fuente. Según la documentación, las familias generadas llevan el sufijo «-L» precisamente porque Liberation es un nombre de fuente reservado bajo su licencia original.

Una particularidad práctica destacada en el sitio del proyecto es el comportamiento de los navegadores web: como los motores de diseño realizan el salto de línea sobre el texto Unicode antes del shaping, los navegadores pueden dividir un código QR entre líneas si contiene espacios, puntos o barras y alcanza el borde del contenedor. La recomendación para un renderizado confiable en HTML es envolver el bloque entre corchetes en un contenedor con la propiedad CSS white-space: nowrap o display: inline-block.

El proyecto se distribuye bajo la SIL Open Font License versión 1.1, al ser una versión modificada de Liberation Sans Regular. El autor insiste en que se trata de una prueba de concepto que depende del shaping OpenType y, por tanto, requiere entornos que apliquen las características GSUB a la fuente. Las entradas dentro de un bloque QR están limitadas a ASCII imprimible, con un máximo de 17, 32 o 53 caracteres según la versión elegida.

Desde la perspectiva técnica, la iniciativa demuestra hasta qué punto las tablas OpenType pueden alejarse de su propósito original. Lo que normalmente se usa para kerning, ligaduras o sustitución de glifos se reutiliza aquí para implementar un algoritmo de corrección de errores y generar patrones visuales complejos carácter por carácter. El propio repositorio advierte que la compilación con paridad Reed-Solomon completa, que es la ruta predeterminada, emite miles de lookups contextuales y suele tardar заметельно más que una compilación rápida con paridad cero como marcador de posición.

El proyecto abre interrogantes sobre los límites de la tipografía como medio de almacenamiento y transmisión de datos. Al ser el código QR仍然是 texto, puede copiarse, pegarse y almacenarse como caracteres ordinarios, lo que permite incrustar información legible por máquinas dentro de documentos de texto plano. Aunque las aplicaciones prácticas inmediatas son limitadas por las restricciones de capacidad y el requisito de entornos con shaping OpenType, el experimento ilustra una convergencia creativa entre la tipografía y la codificación de datos que podría inspirar desarrollos futuros en ámbitos como la accesibilidad, la documentación técnica o la esteganografía tipográfica.