MCFontStruct *MCFontlist::getfont(MCNameRef fname, uint2 &size, uint2 style, Boolean printer) { MCFontnode *tmp = fonts; if (tmp != NULL) do { MCFontStruct *font = tmp->getfont(fname, size, style); if (font != NULL) return font; tmp = tmp->next(); } while (tmp != fonts); tmp = new MCFontnode(fname, size, style); tmp->appendto(fonts); return tmp->getfont(fname, size, style); }
void MCFontlist::freeprinterfonts() { MCFontnode *tmp = fonts; do { if (tmp->isprinterfont()) { MCFontnode *nptr = tmp->next(); tmp->remove (fonts); delete tmp; tmp = nptr; } else tmp = tmp->next(); } while (tmp != fonts); }