diff --git a/src/Skia/Avalonia.Skia/FontManagerImpl.cs b/src/Skia/Avalonia.Skia/FontManagerImpl.cs index e013124cf1..42ff452fdf 100644 --- a/src/Skia/Avalonia.Skia/FontManagerImpl.cs +++ b/src/Skia/Avalonia.Skia/FontManagerImpl.cs @@ -6,6 +6,7 @@ using System.Diagnostics.CodeAnalysis; using System.Globalization; using System.IO; using System.Text.RegularExpressions; +using Avalonia.Compatibility; using Avalonia.Media; using Avalonia.Platform; using SkiaSharp; @@ -124,6 +125,17 @@ namespace Avalonia.Skia var skTypeface = _skFontManager.MatchFamily(familyName, fontStyle); + // SkiaSharp 2.88 can return the default family name (Helvetica) on macOS here. + // On Windows and Linux, this returns null instead. Adjust the behavior on macOS to return null instead. + // (With SkiaSharp 3.119, all platforms return null). + if (OperatingSystemEx.IsMacOS() + && skTypeface is not null + && skTypeface.FamilyName != familyName + && skTypeface.FamilyName == GetDefaultFontFamilyName()) + { + return false; + } + if (skTypeface is null) { return false;