void LoadFont()
{
//Try to load name.ttf in Resources
_font = (Font)Resources.Load(name, typeof(Font));
//Try to load name.ttf in Resources/Fonts/
if (_font == null)
{
_font = (Font)Resources.Load("Fonts/" + name, typeof(Font));
}
#if (UNITY_5 || UNITY_5_3_OR_NEWER)
//Try to use new API in Uinty5 to load
if (_font == null)
{
if (name.IndexOf(",") != -1)
{
string[] arr = name.Split(',');
int cnt = arr.Length;
for (int i = 0; i < cnt; i++)
{
arr[i] = arr[i].Trim();
}
_font = Font.CreateDynamicFontFromOSFont(arr, 16);
}
else
{
_font = Font.CreateDynamicFontFromOSFont(name, 16);
}
}
#endif
if (_font == null)
{
if (name != UIConfig.defaultFont)
{
DynamicFont bf = FontManager.GetFont(UIConfig.defaultFont) as DynamicFont;
if (bf != null)
{
_font = bf._font;
}
}
//Try to use Unity builtin resource
if (_font == null)
{
_font = (Font)Resources.GetBuiltinResource(typeof(Font), "Arial.ttf");
}
if (_font == null)
{
throw new Exception("Cant load font '" + name + "'");
}
}
else
{
_font.hideFlags = DisplayOptions.hideFlags;
_font.material.hideFlags = DisplayOptions.hideFlags;
_font.material.mainTexture.hideFlags = DisplayOptions.hideFlags;
}
}