Grafická knihovna je vlastně jen sbírka grafických algoritmů z různých zdrojů a od různých autorů. Obsahuje pravděpodobně dost chyb a já ji používám hlavně kvůli tomu, že umožňuje import fontů z TheDotFactory. Nejprve vás tedy ve stručnosti seznámím se soubory a pak se vrhnu na to jediné smysluplné - návod jak z TheDotFactory převést do knihovny vybraný font.
graphic.h - obsahuje makra definující rozměry obrazu, deklarace funkcí pro mazání obrazového bufferu, kreslení grafických prvků a pod.
font.h - obsahuje deklarace struktur znakových sad
fonts/sans8.h - obsahuje deklarace polí pro vzorový font sans 8px
fonts/sans8.c - obsahuje bitmapy všech znaků, tabulku rozměrů a pozice každého znaku a charakteristiku fontu (více info v dokumentaci k TheDotFactory)
Samotný font se skládá ze tří polí.
***Bitmaps - Obsahuje bitmapy všech znaků fontu
***Descriptors - Pro každý znak fontu obsahuje šířku v pixelech a adresu v poli Bitmaps
***FontInfo - obsahuje globální charakteristiku fontu (výšku znaku v bytech), první a poslední znak sady, šířku znaku "mezera", šířku mezery mezi znaky, ukazatele na dvě výše zmíněné položky
V praxi jsou mezery mezi písmeny různé (Kerning) a závisí na tom které konkrétní dva znaky jdou za sebou. Tuto featuru TheDotFactory nepodporuje a tudíž je nutné mezeru mezi znaky nějak zadefinovat. Do struktury FONT_INFO jsem tedy nad rámec toho co dostanete z TheDotFActory přidal položku spacing. Ta obsahuje šířku mezery mezi znaky v pixelech (tuto úpravu připomenu ještě později). Do složky fonts můžete přidávat další fonty následujícím postupem.
Import fontů z TheDotFactory
Postupem vás provede serie obrázků s poznámkami.
Obr.1 - Kliknutím na ikonku složky otevře okno s výběrem fontu
Obr.2 - Do levého okna můžete ručně psát znaky nebo text, případně využít roletové menu k výběru znaků, které má váš font obsahovat (potvrdíte tlačítkem "+")
Obr.3 - Malá ikonka "klíče" v pravém okně otevře možnosti konfigurace. Zobrazené nastavení je kompatibilní s knihovnou. Konfiguraci je vhodné si uložit (řádek Preset a tlačítka za ním). Potvrdíte stiskem "Apply".
Obr.4 - Kliknutím na "generate" (vpravo nahoře) vytvoříte soubory. V okně output si je můžete prohlédnout.
Obr.5 - File->Save as files... uloží oba vygenerované soubory na vámi zvolené místo (např do složky fonts).
Obr.6 - V souboru JmenoVasehoFontu.h přidejte na konec struktury FONT_INFO šířku mezery mezi znaky (její volba je na vás)
Obr.7 - V souboru JmenoVasehoFontu.c přidejte do záhlaví inkluzi font.h (nebo to vyřešte nějak jinak)
Ve zdrojovém kódu pak inkludujete vybrané fonty. Funkcím které s nimi pracují budete předávat strukturu FONT_INFO, která obsahuje vše potřebné (včetně adres polí se znaky a deskriptory) - viz vzorový příklad.