From d6c9ce3277cefa3754b8cc66ec44cb9da5af93aa Mon Sep 17 00:00:00 2001 From: Benedikt Schroeder Date: Wed, 28 Nov 2018 17:15:40 +0100 Subject: [PATCH] Make sure only font files are compared --- src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs | 2 +- src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs b/src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs index 2803b942ad..76ee2b7aad 100644 --- a/src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs +++ b/src/Avalonia.Visuals/Media/Fonts/FontFamilyKey.cs @@ -95,7 +95,7 @@ namespace Avalonia.Media.Fonts { if (!Source.IsAbsoluteUri && BaseUri != null) { - return string.Empty + BaseUri + Source; + return BaseUri.Authority + Source; } return Source.ToString(); diff --git a/src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs b/src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs index 623125164c..1e1049d017 100644 --- a/src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs +++ b/src/Avalonia.Visuals/Media/Fonts/FontFamilyLoader.cs @@ -19,8 +19,10 @@ namespace Avalonia.Media.Fonts public static IEnumerable LoadFontAssets(FontFamilyKey fontFamilyKey) { - if (fontFamilyKey.Source.OriginalString.Contains(".ttf") - || fontFamilyKey.Source.OriginalString.Contains(".otf")) + var sourceWithoutArguments = fontFamilyKey.Source.OriginalString.Split('?').First(); + + if (sourceWithoutArguments.EndsWith(".ttf") + || sourceWithoutArguments.EndsWith(".otf")) { return GetFontAssetsByExpression(fontFamilyKey); }