Ostatnia wersja Adafruit-GFX-Library ma obsługę fontów. Jest tam też dołączone narzędzie do konwersji fontów true type do tablicy c (generuje plik nagłówkowy z fontem) ....
Do prostego embedowania fontow w kodzie C możesz wykorzystać dowolne fonty w formacie pcf (w x11 masz ich pełno) konwertując je do tablic w C np. image magickiem (do formatu xbm). Tu masz przykład:
Problem jest taki że font systemowy najwyraźniej nie jest tylko biało czarny, ale ma też odcienie szarości. Dzięki temu śliczne wygląda na monitorze, ale jak się go tak jeden do jeden przekonwertuje na jedno bitowy to już niekoniecznie. Po takiej konwersji wypada go poprawić. Możliwe że dało by się przed konwersją zrobić 1 bitowy kolor, do sprawdzenia...
No chyba że ktoś by do tego chciał zaprząc Metafonta (w swoim czasie sporo w tym języku pisałem, ciekawe ile jeszcze pamiętam). Rasteryzacja opisanych krzywych do urządzeń niskiej rozdielczości jest tam znakomita.
Czy "namalował na bitmapie" znaczy to samo, co "wynik zapisał w pliku"? To ja mu się nie dziwię. Po prostu zawsze stosuje antyaliasing, bez względu na to, czy wynik jest od razu na ekranie, czy na dysku. Znam takie systemy, które świetnie sobie radzą z miękkim przedstawianiem wszystkiego, co im się poda w zwiększonej skali. Stosowanie gotowych fontów z wieloma stopniami szarości by było trochę dziwne. Wyobraźmy sobie, że chcemy otoczyć napis ramką, w dodatku z zaokrąglonymi brzegami. Dlaczego ramka ma być szczerbata, a literki nie?
Takie rzeczy jak zabawa elementami pisma, to już szczebel wyżej ("łodyga" to chyba to samo co "stem"). Zaczęła się we wspomnianym Metafoncie, później przeszła fo fontów PS i TT, teraz również w innych miejscach.
Drugą, poza wyglądem, zaletą stosowania dużych fontów zmniejszanych wraz z antyaliasingiem jest to, że znak nie musi mieć szerokości wyrażonej całkowitą liczba pikseli. Więc nie ma problemu w tym, że napis się nie mieści, bo jest sa długi o jedną literę. Zawsze można go dopasować, w rozsądnych granicach oczywiście. Więc to chyba zły pomysł, takie wstępne przygotowanie fontów z gotowym antyaliasingiem. A już zwłaszcza ich ręczna edycja.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.