_face = 0;
status = qFT_New_Memory_Face(font_ft2lib, (FT_Bytes)data, datasize, 0, (FT_Face*)&font->face);
}
+ font->data = data;
if (status)
{
Con_Printf("ERROR: can't create face for %s\n"
void Font_UnloadFont(ft2_font_t *font)
{
int i;
+
+ // unload fallbacks
+ if(font->next)
+ Font_UnloadFont(font->next);
+
if (font->attachments && font->attachmentcount)
{
+ for (i = 0; i < font->attachmentcount; ++i) {
+ if (font->attachments[i].data)
+ Mem_Free(font->attachments[i].data);
+ }
Mem_Free(font->attachments);
font->attachmentcount = 0;
font->attachments = NULL;
font->face = NULL;
}
}
+ if (font->data) {
+ Mem_Free(font->data);
+ font->data = NULL;
+ }
}
static float Font_SearchSize(ft2_font_t *font, FT_Face fontface, float size)