Object | +---DTrueTypeFont
The DTrueTypeFont class implements methods for using a TrueType font. Actually every font that can be loaded with the FreeType library, can be used by this class.
#include <stdio.h> #include "ofc/DTrueTypeFont.h" int main(int argc, char *argv[]) { DTrueTypeFont *font = [DTrueTypeFont new]; DFT_Glyph glyph; unsigned width,height; char name[] = "../test/arial.ttf"; if ([font open :name]) // Open font file { // Print font info printf("Family name:%s\n", [font familyName]); printf("Style name:%s\n", [font styleName]); printf("Glyphs in font:%d\n", [font glyphsInFont]); [font size :"a" :20 :15]; // Give the glyphs a size [font stringSize :"hello" :&width :&height]; // Get string dimensions printf("String size of \"hello\":%u - %u\n", width, height); if ([font glyph :'a' :&glyph]) // Render a character to a glyph { unsigned xe = glyph.bitmapWidth -1; unsigned ye = glyph.bitmapHeight - 1; unsigned x,y; unsigned char *bitmap = glyph.bitmap; printf("Glyph bitmap:\n"); // Print the bitmap of the glyph for (y = 0; y <= ye; y++) { unsigned char mask = 0x80; unsigned char *line = bitmap; for (x = 0; x <= xe; x++) { printf("%c", ((*line & mask) ? '1' : '0')); mask >>= 1; if (mask == 0) { mask = 0x80; line++; } } bitmap += glyph.bitmapPitch; printf("\n"); } } else printf("The glyph 'a' is not present in the font.\n"); [font close]; } else printf("Could not open font file \"%s\".\n", name); [font free]; return 0; }