//============================================================================== String Font::toString() const { String s; if (getTypefaceName() != getDefaultSansSerifFontName()) s << getTypefaceName() << "; "; s << String (getHeight(), 1); if (getTypefaceStyle() != getDefaultStyle()) s << ' ' << getTypefaceStyle(); return s; }
Typeface::Ptr Font::getDefaultTypefaceForFont (const Font& font) { static DefaultFontNames defaultNames; Font newFont (font); const String& faceName = font.getTypefaceName(); if (faceName == getDefaultSansSerifFontName()) newFont.setTypefaceName (defaultNames.defaultSans); else if (faceName == getDefaultSerifFontName()) newFont.setTypefaceName (defaultNames.defaultSerif); else if (faceName == getDefaultMonospacedFontName()) newFont.setTypefaceName (defaultNames.defaultFixed); if (font.getTypefaceStyle() == getDefaultStyle()) newFont.setTypefaceStyle ("Regular"); return Typeface::createSystemTypefaceFor (newFont); }
Font Font::fromString (const String& fontDescription) { const int separator = fontDescription.indexOfChar (';'); String name; if (separator > 0) name = fontDescription.substring (0, separator).trim(); if (name.isEmpty()) name = getDefaultSansSerifFontName(); String sizeAndStyle (fontDescription.substring (separator + 1)); float height = sizeAndStyle.getFloatValue(); if (height <= 0) height = 10.0f; const String style (sizeAndStyle.fromFirstOccurrenceOf (" ", false, false)); return Font (name, style, height); }