#2 Reviviendo la fuente Adafruit GFX
La búsqueda de la perfección al nivel de píxel
En Lopaka, la perfección al nivel de píxel es clave. Para lograrla, usa fuentes de la biblioteca y conéctalas en el navegador. Suena fácil, ¿verdad? Pero encontrar el formato de fuente adecuado puede ser un desafío. Me encontré con problemas de claridad de la fuente y de espaciado entre letras al usar la biblioteca U8g2 en un OLED.
Inmersión profunda en la conversión de fuentes
Esto me llevó a una inmersión profunda en convertidores BDF, repositorios olvidados y sitios web de aspecto antiguo. ¡Por fin FontForge funcionó! Fue difícil entender su interfaz, pero entregó los resultados. Perfección al nivel de píxel lograda en el navegador. Pero el recorrido no había terminado.
El desafío Adafruit GFX
Siguiente desafío: agregar soporte para Adafruit GFX. La fuente predeterminada, GLCD, era difícil de rastrear. La documentación de Adafruit no mencionaba la fuente usada.
Encontré una manera de analizar la fuente GLCD convirtiendo un arreglo de C++ en una fuente completa con una herramienta. Pero los formatos no coincidían y a la fuente clásica le faltaba una lista de glifos.
Por fin, un alma amable en un foro había convertido la versión correcta con todos los glifos. Pero no había manera de exportarla a BDF. La búsqueda de un convertidor universal continuó.
De vuelta a 1988: el formato BDF
A pesar de los intentos, crear un convertidor de un arreglo de 8 bits a un formato universal era demasiado complejo. Un recorrido que nos llevó de vuelta a 1988, cuando se inventó BDF para su uso en cintas magnéticas.
BDF tiene muchas pérdidas, las cosas sofisticadas no lo van a lograr en un solo paso; había un par de convertidores en los repositorios de debian/fedora, uno es otf2bdf, ¿eso no funcionó o fue como una cacería de shareware?
La fuente estándar 5x7
Esta es la "fuente estándar 5x7" https://eleif.net/HD44780.html mencionada aquí
Tiene su propia historia, pero no recuerdo la tangente salvaje que podría llevarme de vuelta a esas fuentes. Es el tipo de cosa que se imprimía por sí sola en un libro de datos a finales de los 60 http://hparchive.com/PARTS/HP-LEDs-5082-710x.pdf porque se esperaba que tú suministraras el generador de caracteres con tu software.
La comunidad de código abierto al rescate
Sin éxito hasta ahora… Me temo que no podemos tener una fuente Adafruit... ¿o sí?
La situación parecía sombría, pero la comunidad de código abierto respondió. Se encontró a una persona que ayudó a resolver el problema, ¡incluso proporcionó una solución lista para usar! Por fin logramos escribir un script para producir un SVG y lo usamos para generar una fuente TrueType. Ahora, la rara y exótica fuente GLCD por fin está disponible en línea en formato TrueType. Revisa nuestro GitHub. Esta es la magia de un proyecto de código abierto.
Colaboración y transformación
Nos conectamos por Telegram, donde compartí mis diseños secretos del nuevo diseño de Lopaka y los planes futuros. Él compartió ideas sobre mejoras. Estaba tan inspirado que reescribió la estructura del proyecto en solo unos días
Un colaborador importante de esta transformación fue Denis, también conocido como deadlink. Su trabajo fue crucial para mejorar Lopaka y convertirlo en una herramienta robusta para desarrolladores y diseñadores. La fuente está disponible en nuestro repositorio de GitHub
Este recorrido, desde una claridad de fuente inicialmente pobre hasta lograr fuentes perfectas al nivel de píxel, ilustra la importancia de la perseverancia y la colaboración comunitaria en el proyecto Lopaka. Destaca cómo las personas, más que solo la tecnología, son centrales para nuestro éxito.