Pular para o conteúdo

#2 Revivendo a fonte Adafruit GFX ​

A busca pela perfeição de pixels ​

No Lopaka, a perfeição de pixels é fundamental. Para alcançá-la, use fontes da biblioteca e conecte-as no navegador. Parece fácil, né? Mas encontrar o formato de fonte certo pode ser um desafio. Encontrei problemas de nitidez da fonte e de espaçamento entre letras ao usar a biblioteca U8g2 em OLED.

Mergulho profundo na conversão de fontes ​

Isso me levou a um mergulho profundo em conversores BDF, repositórios esquecidos e sites com cara antiga. Finalmente, o FontForge funcionou! Foi difícil entender a interface, mas ele entregou o resultado. Perfeição de pixels alcançada no navegador. Mas a jornada não tinha acabado.

O desafio Adafruit GFX ​

Próximo desafio: adicionar suporte ao Adafruit GFX. A fonte padrão, GLCD, era difícil de rastrear. A documentação da Adafruit não mencionava a fonte usada.

Encontrei uma forma de analisar a fonte GLCD convertendo um array em C++ em uma fonte completa usando uma ferramenta. Mas os formatos não batiam e a fonte clássica não tinha uma lista de glifos.

Finalmente, uma alma gentil em um fórum tinha convertido a versão correta com todos os glifos. Mas não havia como exportar para BDF. A busca por um conversor universal continuou.

De volta a 1988: o formato BDF ​

Apesar das tentativas, criar um conversor de um array de 8 bits para um formato universal era complexo demais. Uma jornada que nos levou de volta a 1988, quando o BDF foi inventado para uso em fitas magnéticas.

O BDF é bem lossy, as coisas sofisticadas não vão resolver em um passo só, havia alguns conversores nos repositórios debian/fedora, um é o otf2bdf, ele não funcionou ou foi tipo uma caça a shareware

A fonte padrão 5x7 ​

Esta é a "fonte padrão 5x7" https://eleif.net/HD44780.html mencionada aqui

Ela tem uma história própria, mas não lembro da tangente maluca que poderia me levar de volta àquelas fontes. É o tipo de coisa que era impressa sozinha em um databook no final dos anos 60 http://hparchive.com/PARTS/HP-LEDs-5082-710x.pdf porque se esperava que você fornecesse o gerador de caracteres com o seu software.

A comunidade open source ao resgate ​

Sem sucesso até agora… Receio que não possamos ter uma fonte Adafruit... ou podemos?

A situação parecia sombria, mas a comunidade open source apareceu. Foi encontrada uma pessoa que ajudou a resolver o problema, inclusive fornecendo uma solução pronta! Finalmente conseguimos escrever um script para produzir um SVG e usamos isso para gerar uma fonte TrueType. Agora, a rara e exótica fonte GLCD está finalmente disponível online em formato TrueType. Confira nosso GitHub. Essa é a magia de um projeto open source.

Colaboração e transformação ​

Nos conectamos pelo Telegram, onde compartilhei meus layouts secretos do novo design do Lopaka e os planos futuros. Ele compartilhou ideias sobre melhorias. Ficou tão inspirado que reescreveu a estrutura do projeto em poucos dias

Um contribuidor significativo para essa transformação foi Denis, também conhecido como deadlink. O trabalho dele foi crucial para aprimorar o Lopaka, tornando-o uma ferramenta robusta para desenvolvedores e designers. A fonte está disponível no nosso repositório no GitHub

Essa jornada, da nitidez de fonte inicialmente ruim até alcançar fontes perfeitas em pixels, ilustra a importância da perseverança e da colaboração com a comunidade no projeto Lopaka. Ela destaca como as pessoas, e não só a tecnologia, são centrais para o nosso sucesso.