4 puntos por GN⁺ 2025-12-14 | 2 comentarios | Compartir por WhatsApp
  • Fuente libre que incluye glifos (formas de caracteres) para los caracteres Unicode de todo el mundo, mantenida como parte del proyecto GNU
  • Desde la versión 15.1.01, gracias a las contribuciones de Minseo Lee y Ho-seok Ee, se introdujo una nueva codificación combinatoria (método 6/3/1) para aplicar un sistema mejorado de glifos Hangul
  • En la versión más reciente, 17.0.03, se corrigieron y añadieron numerosos glifos, incluidos hanzi chinos y japoneses, así como árabe y símbolos musicales
  • Compatible con los 65,536 code points completos del BMP (Plano Multilingüe Básico), y también sigue ampliando gradualmente las áreas de SMP (Plano Multilingüe Suplementario) y CSUR (ConScript Unicode Registry)
  • Se distribuye bajo doble licencia: GNU GPLv2+ con excepción de incrustación de fuentes y SIL Open Font License 1.1, por lo que puede usarse libremente también en software comercial
  • Un proyecto representativo de fuente Unicode de código abierto cuyo objetivo es la cobertura completa de los sistemas de escritura del mundo

Resumen de GNU Unifont

  • GNU Unifont es una fuente que incluye glifos para todos los code points Unicode imprimibles, y se mantiene como parte del proyecto GNU
    • Soporte completo para el Plano Multilingüe Básico (BMP, U+0000~U+FFFF)
    • Las áreas del Plano Multilingüe Suplementario (SMP, U+010000~U+01FFFF) y CSUR/Under-CSUR también siguen expandiéndose
  • También puede usarse en software comercial, aunque las fuentes derivadas deben publicarse bajo la misma licencia
    • Las licencias son GNU GPLv2+ (con excepción de incrustación de fuentes) y SIL Open Font License 1.1
    • La publicación de fuentes derivadas garantiza el interés público

Copyright y licencia

  • Miles de glifos son obras creadas por contribuyentes individuales y están protegidos por las leyes de copyright de cada país
    • Algunos son formas de caracteres existentes, mientras que otros son diseños de íconos y símbolos, con un mayor nivel de protección internacional
  • Hay disponible un memorándum relacionado con la ley de copyright alemana
  • Desde Unifont 13.0.04, se distribuye bajo doble licencia GPL 2+ / SIL OFL 1.1
    • Incrustar la fuente en un documento no viola la GPL

Descarga y formatos de la fuente

  • Se ofrecen la compilación estándar y una versión con glifos PUA de CSUR/Under-CSUR
    • Compatibilidad con varios formatos como OpenType (.otf), PCF, BDF, PSF y HEX
    • Puede instalarse en Windows y macOS; en la terminal de macOS, es necesario activar la opción Antialias para asegurar la legibilidad
  • Algunos motores de renderizado ignoran la información de espaciado entre glifos, por lo que pueden presentarse errores de visualización en motores exclusivos para monoespaciado

Limitaciones de Unifont

  • Solo se almacena un glifo por cada code point imprimible
    • Las escrituras índicas (devanagari, bengalí, tamil, etc.) o los caracteres cuya forma cambia según la posición (como el árabe) no se renderizan con precisión
    • Para escrituras complejas, se recomienda usar fuentes OpenType especializadas

Contribución de nuevos glifos

  • Para añadir nuevos glifos, es necesario contactar primero por correo electrónico
    • Se puede participar tras coordinarlo para evitar trabajo duplicado
  • Los glifos hanzi de 15×16 píxeles (Plane 2, 3) cuyo copyright pertenece al gobierno chino no pueden incluirse en una fuente libre

Lanzamiento más reciente — Unifont 17.0

  • Versión 17.0.03 del 1 de noviembre de 2025
    • Se corrigieron más de 100 hanzi que incluyen los radicales chinos de ‘馬’ (caballo) y ‘鳥’ (ave)
    • Refleja la lista estándar de caracteres simplificados chinos entre 1935 y 2013
    • Incluye la norma moderna de radicales de caracteres de uso comercial publicada en 2009
  • Versión 17.0.02 del 18 de octubre de 2025
    • Múltiples contribuciones en los planos 0~3 por parte de Paul Hardy, David Corbett, Xiaoxiao Akatsuki, Boris Zhang y otros
    • Muchas correcciones en árabe, símbolos de ajedrez, extensiones CJK y más
  • Versión 17.0.01 del 9 de septiembre de 2025
    • Se añadieron Arabic Extended-B, símbolos monetarios y caracteres telugu y kannada, entre otros
    • En los planos 1~3 se añadieron múltiples escrituras, incluyendo Arabic Extended-C, Sidetic, Tolong Siki, Beria Erfe y Adlam

Versiones principales anteriores

  • Unifont 16.0 (primera mitad de 2025)
    • Muchas correcciones en árabe, griego, Hangul, símbolos musicales y más
    • Se añadieron escrituras CSUR como Sitelen Pona y Zbalermorna
  • Unifont 15.1 (2024)
    • Se introdujo la codificación Johab 6/3/1 para Hangul de Ho-seok Ee
    • Cambio de compilación base de TrueType a OpenType
    • Grandes mejoras en Hangul, extensiones CJK y glifos de Wen Quan Yi

Cobertura de glifos

  • Amplio soporte de planos Unicode hasta los planos 0~3, 14 y 15
    • Plano 0: Plano Multilingüe Básico (cobertura completa de todos los sistemas de escritura principales)
    • Plano 1: Plano Multilingüe Suplementario (símbolos musicales, jeroglíficos, escrituras antiguas, etc.)
    • Planos 2~3: hanzi de extensión CJK
    • Plano 14: etiquetas y selectores de variación
    • Plano 15: área privada CSUR/Under-CSUR

Escrituras CSUR y UCSUR

  • Tengwar, Cirth, Aurebesh, Klingon, Sitelen Pona, Sadalian, entre otras
    • Incluye varias escrituras artificiales (conlang scripts)
    • Algunas todavía están marcadas como incompletas

Variantes japonesa y china

  • Se ofrece la versión unifont_jp, con soporte completo del estándar JIS X 0213
    • Al principio usó Jiskan16, y después fue reemplazada por glifos públicos de Izumi16
  • La versión china cubre completamente la Tabla de caracteres hanzi normativos de uso general
    • Se basa en glifos públicos del proyecto Wen Quan Yi (文泉驛)

Detalles técnicos

  • La conversión a TrueType se basa en un script de Luis Alejandro González Miranda
    • Automatiza la conversión .hex.sfd.ttf
  • Usa una cuadrícula base de 16×16 píxeles, con soporte futuro previsto para glifos de 32×32 píxeles

Planes a futuro

  • Todos los glifos de 16×16 píxeles del plano SMP ya están completos
  • Escrituras complejas como Tangut se crearán más adelante en 32×32 píxeles
  • El trabajo de añadir escrituras CSUR continúa
  • Todas las nuevas contribuciones deben publicarse bajo los términos de GPL 2+ / SIL OFL 1.1

Importancia del proyecto

  • GNU Unifont es una fuente libre representativa cuyo objetivo es asegurar la accesibilidad digital de los sistemas de escritura del mundo
  • Cumple un papel de infraestructura clave en los campos del ecosistema open source, la internacionalización (i18n) y la ingeniería tipográfica
  • Es un proyecto que mejora continuamente la calidad visual del estándar Unicode gracias a las aportaciones constantes de la comunidad

Página de la fuente Hangul de Unifont - Hangul (Hangeul) Font

Origen y estructura del Hangul

  • El Hangul fue creado por el rey Sejong entre 1443 y 1446 y promulgado en 1446 en el Hunminjeongeum Haerye
    • El propósito de su creación se expresó como “permitir que la gente lo aprenda fácilmente y lo use con comodidad todos los días”
    • El Haerye es un comentario que explica los principios de las letras, y se conserva un ejemplar único descubierto durante la Segunda Guerra Mundial
  • El Hangul tiene una estructura de bloques silábicos compuesta por tres elementos: choseong (consonante inicial), jungseong (vocal medial) y jongseong (consonante final)
    • Ejemplo: “Hangul” se compone de las combinaciones ‘h + a + n’ y ‘g + eu + l’
    • Las vocales y semivocales (y, w) se colocan a la derecha o debajo de la consonante inicial

Principio de formación de las consonantes

  • Las consonantes parten de cinco consonantes básicas (giyeok, nieun, mieum, siot, ieung) inspiradas en la forma de los órganos de pronunciación
    • A partir de ellas, al añadir trazos, se formaron las 17 consonantes originales
    • Algunas consonantes expresan énfasis mediante formas dobles
  • Los jamo combinatorios (Compatibility Jamo) también están incluidos en Unicode, y algunos jamo antiguos ya no se usan actualmente

Principio de formación de las vocales

  • Las vocales derivan del concepto de los tres elementos: cielo (yang), persona (centro) y tierra (yin)
    • Elementos básicos: punto (arae-a), línea horizontal (eu) y línea vertical (i)
  • Originalmente existían 11 vocales, y arae-a desapareció del coreano estándar moderno, aunque se conserva en el dialecto de Jeju
  • La combinación de vocales forma diptongos, y algunos ya no se usan en el Hangul moderno
  • El conjunto de jamo Hangul de Unifont soporta todas las vocales y diptongos, tanto antiguos como modernos

Rango de Hangul dentro de Unicode

  • Hangul está incluido en los siguientes rangos Unicode
    • U+1100–U+11FF: Hangul Jamo
    • U+3130–U+318F: Hangul Compatibility Jamo
    • U+A960–U+A97F: Hangul Jamo Extended–A
    • U+AC00–U+D7A3: Hangul Syllables
    • U+D7B0–U+D7FF: Hangul Jamo Extended–B
    • U+FFA0–U+FFDF: Half-width Compatibility Jamo
  • Ajustar la posición combinada de consonante inicial, vocal medial y consonante final es clave en el diseño tipográfico, y también es posible representar sílabas combinadas en fuentes bitmap

Fuentes Johab de X11 y Unifont

  • Las fuentes con codificación Johab generan glifos silábicos combinando consonante inicial, vocal medial y consonante final
    • Se usaban en el terminal Hanterm del entorno Unix X11
  • Como las fuentes gratuitas para Hanterm no eran compatibles con GPL, en Unifont se crearon directamente nuevos glifos silábicos de Hangul
    • Proceso de conversión: script Perl johab2ucs2.pl → conversión a .hex.bdf
    • Las fuentes existentes (iyagi16, johabg16, etc.) estaban restringidas por una licencia exclusiva para Hanterm
  • Después, se creó durante varios años un nuevo conjunto de Hangul Syllables que se incorporó a Unifont

Contribuciones recientes y mejoras de codificación

  • Minseo Lee: en 2023, aportó glifos modernos basados en el orden de Hanterm y versiones corregidas de glifos antiguos
    • Mejoró scripts Perl y corrigió la consistencia de los jamo dentro del rango Unicode
  • Ho-Seok Ee: propuso la codificación Johab 6/3/1
    • Con una estructura combinatoria de 6 iniciales, 3 vocales mediales y 1 final, simplificó la generación de glifos frente al método anterior
    • También propuso mover los code points al Private Use Area (U+E000–U+E8FF)
    • Este método de codificación fue adoptado a partir de Unifont 15.1.01

Bloques silábicos Hangul de Unicode (U+AC00–U+D7A3)

  • Están compuestos por un total de 11,172 glifos silábicos
    • 19 consonantes iniciales (o 1 carácter de relleno), 21 vocales mediales y 27 consonantes finales (o ninguna)
    • Fórmula combinatoria: (19×21)×28 = 11,172
  • Las palabras que empiezan con vocal usan la consonante inicial ‘ieung’ como carácter de relleno
  • En versiones posteriores a Unifont 5.1, el nuevo proceso de generación de bloques silábicos se describe en detalle en el documento separado Generating Hangul Syllables

2 comentarios

 
joyfui 2025-12-14

Este es el famoso culpable de la fea fuente coreana de Minecraft...

 
GN⁺ 2025-12-14
Comentarios en Hacker News
  • Usamos GNU Unifont en la ventana de texto y en el navegador de propiedades de Solvespace.
    Fue muy útil porque viene integrado directamente en el ejecutable. Algunos usuarios incluyen caracteres CJK en sus diseños, y simplemente funciona bien en todas las plataformas.
    Mientras revisaba las anotaciones de agujeros en CAD, me sorprendió descubrir que los símbolos de counterbore y countersink ya estaban incluidos en Unifont.
    Se puede ver una versión web experimental aquí
    • La simplicidad de la versión web está genial. Solvespace es mi programa de MCAD favorito, y siempre es la primera herramienta a la que recurro cuando necesito hacer rápido un jig de prueba para PCB.
      Cuando la geometría es simple, se siente muy cómodo de usar.
    • Sorprende que un efecto tan bueno salga solo de elegir una fuente. Claro, tanto Unifont como todo Unicode incorporan incontables horas de trabajo humano, pero me encanta la idea de que un ingeniero de CAD de la Edad de Bronce pueda escribir su nombre en Lineal A sin problema.
    • La versión web está realmente limpia. Solvespace tiene funciones limitadas, pero su flexibilidad y lo agradable que resulta expresar restricciones es abrumadora.
      Algún día me gustaría meterme al código y reemplazar ese cuadro de diálogo modal de “no se pueden crear restricciones”.
  • Para resumirlo para los demás, GNU Unifont es una fuente de mapa de bits.
    Proporciona un glifo fijo para todos los puntos de código del BMP, e incluye también algunos puntos de código de otros planos.
    Es útil para editores que necesitan poder editar texto Unicode sin conocimientos de renderizado específicos por idioma.
    Eso sí, al usar escrituras complejas como devanagari, al no haber shaping, no se ve como texto real.
    • Aquí BMP no significa BitMap, sino Unicode Basic Multilingual Plane; es decir, la zona de los primeros 65,536 puntos de código.
    • Entonces me pregunto si hay un archivo separado para cada tamaño en puntos. Esto me hace darme cuenta otra vez de que sé muy poco sobre fuentes.
  • Me da la impresión de que la primera frase de ese sitio web debería explicar qué es GNU Unifont. Supongo que es una única fuente copyleft que incluye casi todos los puntos de código Unicode.
    • En realidad, la segunda y la tercera frase ya lo explican con precisión. Incluye glifos para todos los puntos de código imprimibles del BMP y es adecuada como fuente de último recurso.
      Sirve para mostrar caracteres cuando otras fuentes no encuentran el glifo.
    • “Casi todos” no es lo mismo que “todos”. Tengo un proyecto que necesita renderizar caracteres CJK raros, y en Unifont no se muestran correctamente.
      En su lugar usé la fuente Jigmo, que tenía los glifos CJK más completos.
    • Yo también me confundí al principio, pero al pulsar “Home” me di cuenta de que el enlace no era la página principal.
    • Hay muchísimos proyectos open source a los que les falta una explicación suficiente en la primera frase de esta manera.
    • Creo que la frase “GNU Unifont es parte del proyecto GNU e incluye glifos para todos los puntos de código imprimibles del BMP” ya es bastante clara.
  • También se ve realmente hermoso cuando se imprime. Yo lo convertí en un póster en espiral y lo colgué en la pared.
    The Mostly Complete Unicode Spiral
    • ¡Qué bueno! Me pregunto en qué tamaño lo imprimiste. ¿Los caracteres chinos dispersos alrededor de la espiral principal son una disposición natural de Unicode o fue algo intencional?
      Todo parecía una galaxia, y me impresionó cómo los emoji estaban alineados en el borde exterior. También fue divertido buscar el emoji de la Tierra.
  • Unifont guarda solo un glifo por punto de código.
    Por eso las escrituras complejas (índicas, árabe, etc.) no se renderizan correctamente.
    En esos casos hay que usar fuentes OpenType, y Unifont solo es apropiada como fuente de respaldo.
  • Los sitios de fuentes suelen tener una imagen de vista previa de type specimen, algo como “Hello World”. Estaría bien que la página de Unifont también tuviera algo así.
  • Cuando veo el nombre GNU, siento que, aunque no sea lo mejor en todo, en cuanto a respeto por el usuario está casi en la cima.
  • Yo aplico Unifont a todo el sistema y en Firefox lo fuerzo como la única fuente.
    También desactivé la descarga de fuentes web, y hasta tengo caracteres que yo mismo creé en CSUR (ConScript Unicode Registry).
    En Qt la configuración de DPI es complicada, pero se arregla con QT_FONT_DPI=128. También me gustaría hacer que juegos como RimWorld usen solo Unifont.
    • Me da curiosidad por qué lo usas así.
    • Yo también la instalé, pero tuve que poner HN al 200% de zoom para poder leerlo. En XFCE se veía más o menos bien.
  • Tuve que quitar Unifont para poder usar fuentes CJK bonitas en Firefox.
    Porque en el fallback de fuentes, Firefox de alguna forma daba prioridad a Unifont.
    • Para solucionarlo, hay que ir a Idioma y apariencia → Fuentes → Avanzado en la configuración de Firefox y asignar una fuente para cada escritura.
      Si no, es imposible predecir qué fuente se va a elegir.
    • Yo también tuve en Firefox y Chrome el problema de que los glifos de Unifont no se veían. Hay reportes relacionados en el rastreador de issues de nixpkgs.
      También hubo un fenómeno parecido con Noto Color Emoji. El mundo de las fuentes es realmente sutil.
  • Hice una fuente para Playdate basada en Unifont.
    https://github.com/remysucre/cuniform