diff --git a/src/Avalonia.Base/Media/FontManager.cs b/src/Avalonia.Base/Media/FontManager.cs
index 595a2f3474..5890b90954 100644
--- a/src/Avalonia.Base/Media/FontManager.cs
+++ b/src/Avalonia.Base/Media/FontManager.cs
@@ -107,7 +107,7 @@ namespace Avalonia.Media
source = new Uri(key.BaseUri, source);
}
- if (!_fontCollections.TryGetValue(source, out var fontCollection))
+ if (!_fontCollections.TryGetValue(source, out var fontCollection) && (source.IsAbsoluteResm() || source.IsAvares()))
{
var embeddedFonts = new EmbeddedFontCollection(source, source);
diff --git a/src/Avalonia.Themes.Simple/Accents/Base.xaml b/src/Avalonia.Themes.Simple/Accents/Base.xaml
index 38b122d8b2..0640fe9a4a 100644
--- a/src/Avalonia.Themes.Simple/Accents/Base.xaml
+++ b/src/Avalonia.Themes.Simple/Accents/Base.xaml
@@ -76,7 +76,7 @@
- fonts://Inter#Inter, $Default
+ fonts:Inter#Inter, $Default
#CC119EDA
#99119EDA
#66119EDA
diff --git a/tests/Avalonia.Skia.UnitTests/Media/FontManagerImplTests.cs b/tests/Avalonia.Skia.UnitTests/Media/FontManagerImplTests.cs
index 21c46b836d..859726e871 100644
--- a/tests/Avalonia.Skia.UnitTests/Media/FontManagerImplTests.cs
+++ b/tests/Avalonia.Skia.UnitTests/Media/FontManagerImplTests.cs
@@ -76,5 +76,16 @@ namespace Avalonia.Skia.UnitTests.Media
Assert.Throws(() => new Typeface("resm:Avalonia.Skia.UnitTests.Assets?assembly=Avalonia.Skia.UnitTests#Unknown").GlyphTypeface);
}
}
+
+ [Fact]
+ public void Should_Return_False_For_Unregistered_FontCollection_Uri()
+ {
+ using (UnitTestApplication.Start(TestServices.MockPlatformRenderInterface.With(fontManagerImpl: new FontManagerImpl())))
+ {
+ var result = FontManager.Current.TryGetGlyphTypeface(new Typeface("fonts:invalid#Something"), out _);
+
+ Assert.False(result);
+ }
+ }
}
}