Czcionki w AGE

Dodanie obsługi czcionek TTF do AGE tak aby utrzymać wieloplatformowość małym kosztem wydawało się początkowo trudne. Jednak dzięki bibliotece FreeType2 i Google okazało się to znacznie prostsze niż myślałem.

W tej chwili AGE posiada możliwość wyświetlania tekstu z automatycznym dzieleniem na linie przy pomocy znaku ‚\n’ oraz potrafi obliczyć prostokąt, w którym podany tekst zostałby wyświetlony. Możliwe, że w przyszłości dodam funkcje wyświetlające tekst w danym obszarze z wyrównaniem lub podobne. Przy obecnej implementacji tego wszystkiego dodanie takich funkcji jest dość prostą rzeczą.

Całą zabawę z czcionkami TTF postanowiłem podjąć dlatego, że planuję dodać konsolę, a ciężko byłoby to uczynić bez wyświetlania tekstu, prawda? 🙂

Niestety po tym jak nauczyłem AGE wyświetlać tekst zdałem sobie sprawę, że trzeba mieć jakąś czcionkę aby wyświetlać tekst konsoli i musi to być czcionka, która bedzie dostępna niezależnie od systemu operacyjnego. Rozważałem instalowanie jakiejś czcionki wraz z biblioteką jednak ten pomysł niezbyt mi się podobał. Postanowiłem więc zrobić najbardziej bezczelną rzecz jaka przyszła mi do głowy – wrzuciłem czcionkę wprost do kodu jako tablicę bajtów. Będzie to niestety kilkadziesiąt kilobajtów więcej dla biblioteki, ale z drugiej strony będę miał pewność, że czcionka będzie zawsze dostępna.

Dzięki tym kilku prostym i czasem spartańskim zabiegom mogę wreszcie rozpocząć kodowanie obsługi konsoli dla AGE 🙂