diff --git a/src/Avalonia.Visuals/Media/FontStyle.cs b/src/Avalonia.Visuals/Media/FontStyle.cs index cbc92b1a9f..b9d04bf9ff 100644 --- a/src/Avalonia.Visuals/Media/FontStyle.cs +++ b/src/Avalonia.Visuals/Media/FontStyle.cs @@ -11,13 +11,13 @@ namespace Avalonia.Media Normal, /// - /// An oblique font. + /// An italic font. /// - Oblique, + Italic, /// - /// An italic font. + /// An oblique font. /// - Italic, + Oblique } } diff --git a/src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs b/src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs index d36baf331d..7ca44e7282 100644 --- a/src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs +++ b/src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs @@ -56,7 +56,8 @@ namespace Avalonia.Skia continue; } - var key = new FontKey(fontFamily.Name, (FontStyle)typeface.FontSlant, (FontWeight)typeface.FontWeight); + var key = new FontKey(fontFamily.Name, typeface.FontSlant.ToAvalonia(), + (FontWeight)typeface.FontWeight); typeFaceCollection.AddTypeface(key, typeface); } diff --git a/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs b/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs index ec7e0a67ed..1e772ef067 100644 --- a/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs +++ b/src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs @@ -138,6 +138,17 @@ namespace Avalonia.Skia } } + public static FontStyle ToAvalonia(this SKFontStyleSlant slant) + { + return slant switch + { + SKFontStyleSlant.Upright => FontStyle.Normal, + SKFontStyleSlant.Italic => FontStyle.Italic, + SKFontStyleSlant.Oblique => FontStyle.Oblique, + _ => throw new ArgumentOutOfRangeException(nameof (slant), slant, null) + }; + } + public static SKPath Clone(this SKPath src) { return src != null ? new SKPath(src) : null;