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;