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.
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.