diff --git a/src/Skia/Avalonia.Skia/TypefaceCache.cs b/src/Skia/Avalonia.Skia/TypefaceCache.cs index cf862f3400..92d6f514dc 100644 --- a/src/Skia/Avalonia.Skia/TypefaceCache.cs +++ b/src/Skia/Avalonia.Skia/TypefaceCache.cs @@ -12,7 +12,7 @@ namespace Avalonia.Skia /// internal static class TypefaceCache { - public static SKTypeface Default = SKTypeface.FromFamilyName(FontFamily.Default.Name); + public static SKTypeface Default = CreateDefaultTypeface(); static readonly Dictionary> Cache = new Dictionary>(); struct FontKey @@ -49,6 +49,13 @@ namespace Avalonia.Skia // Equals and GetHashCode ommitted } + private static SKTypeface CreateDefaultTypeface() + { + var defaultTypeface = SKTypeface.FromFamilyName(FontFamily.Default.Name) ?? SKTypeface.FromFamilyName(null); + + return defaultTypeface; + } + private static SKTypeface GetTypeface(string name, FontKey key) { var familyKey = name; @@ -62,7 +69,7 @@ namespace Avalonia.Skia { typeface = SKTypeface.FromFamilyName(familyKey, key.Weight, SKFontStyleWidth.Normal, key.Slant); - if (typeface.FamilyName != name) + if (typeface?.FamilyName != name) { typeface = Default; }