Przejdź do treści

#2 Przywracamy czcionkę Adafruit GFX ​

Poszukiwanie perfekcji co do piksela ​

W Lopaka perfekcja co do piksela jest kluczowa. Aby ją osiągnąć, używaj czcionek z biblioteki i podłączaj je w przeglądarce. Brzmi prosto, prawda? Ale znalezienie właściwego formatu czcionki bywa wyzwaniem. Natknąłem się na problemy z ostrością czcionki i odstępami między literami podczas używania biblioteki U8g2 na OLED.

Głębokie zanurzenie w konwersję czcionek ​

Doprowadziło mnie to do głębokiego zanurzenia się w konwertery BDF, zapomniane repozytoria i starodawnie wyglądające strony internetowe. W końcu FontForge zadziałał! Trudno było zrozumieć jego interfejs, ale dał wyniki. Perfekcja co do piksela osiągnięta w przeglądarce. Ale podróż się nie skończyła.

Wyzwanie Adafruit GFX ​

Następne wyzwanie: dodanie obsługi Adafruit GFX. Domyślną czcionkę, GLCD, trudno było namierzyć. Dokumentacja Adafruit nie wspominała o używanej czcionce.

Znalazłem sposób na sparsowanie czcionki GLCD przez konwersję tablicy C++ na pełnoprawną czcionkę za pomocą narzędzia. Ale formaty się nie zgadzały, a klasyczna czcionka nie miała listy glifów.

W końcu życzliwa dusza na forum przekonwertowała właściwą wersję ze wszystkimi glifami. Ale nie było sposobu na eksport do BDF. Poszukiwanie uniwersalnego konwertera trwało dalej.

Powrót do 1988: format BDF ​

Mimo prób stworzenie konwertera z tablicy 8-bitowej na uniwersalny format okazało się zbyt skomplikowane. Podróż, która cofnęła nas do 1988 roku, kiedy BDF wynaleziono do użycia na taśmach magnetycznych.

BDF jest naprawdę stratny, ładne rzeczy nie zrobią tego w jednym kroku, w repozytoriach Debiana/Fedory było kilka konwerterów, jeden to otf2bdf — czy to nie zadziałało, czy to było jak polowanie na shareware

Standardowa czcionka 5x7 ​

To jest „standardowa czcionka 5x7” https://eleif.net/HD44780.html wspomniana tutaj

Ma swoją własną historię, ale nie pamiętam tej dzikiej dygresji, która mogłaby mnie zaprowadzić z powrotem do tych źródeł. To ten typ rzeczy, który pod koniec lat 60. był drukowany samodzielnie w katalogu danych http://hparchive.com/PARTS/HP-LEDs-5082-710x.pdf, ponieważ oczekiwano, że dostarczysz generator znaków wraz ze swoim oprogramowaniem.

Społeczność open source na ratunek ​

Jak dotąd bez sukcesu… Obawiam się, że nie możemy mieć czcionki Adafruit... a może możemy?

Sytuacja wydawała się beznadziejna, ale społeczność open source przyszła z pomocą. Znaleziono osobę, która pomogła rozwiązać problem, a nawet dostarczyła gotowe rozwiązanie! W końcu udało nam się napisać skrypt tworzący SVG i użyć go do wygenerowania czcionki TrueType. Teraz rzadka, egzotyczna czcionka GLCD jest wreszcie dostępna online w formie TrueType. Sprawdź nasz GitHub. To magia projektu open source.

Współpraca i transformacja ​

Połączyliśmy się przez Telegram, gdzie podzieliłem się swoimi tajnymi układami nowego wyglądu Lopaka i planami na przyszłość. On podzielił się pomysłami na ulepszenia. Był tak zainspirowany, że w zaledwie kilka dni przepisał strukturę projektu

Znaczącym współtwórcą tej transformacji był Denis, znany też jako deadlink. Jego praca była kluczowa dla ulepszenia Lopaka i uczynienia z niej solidnego narzędzia dla programistów i projektantów. Czcionka jest dostępna w naszym repozytorium GitHub

Ta podróż od początkowo słabej ostrości czcionki do osiągnięcia czcionek perfekcyjnych co do piksela pokazuje znaczenie wytrwałości i współpracy społeczności w projekcie Lopaka. Podkreśla, jak ludzie, a nie tylko technologia, są kluczowi dla naszego sukcesu.