public Font CreateFont(FontStyle p_fstStyle, float p_fltSize)
{
if (m_dicFamilyCache.ContainsKey(p_fstStyle))
return new Font(m_dicFamilyCache[p_fstStyle], p_fltSize, p_fstStyle);
Font fntFont = null;
foreach (string strFontFamily in Families)
{
try
{
fntFont = FontManager.GetFont(strFontFamily, p_fltSize, p_fstStyle);
if (fntFont == null)
fntFont = new Font(strFontFamily, p_fltSize, p_fstStyle);
}
catch
{
//the font doesn't work for some reason - keep looking
}
if (fntFont != null)
{
m_dicFamilyCache[p_fstStyle] = fntFont.FontFamily;
return fntFont;
}
}
return null;
}