Browse Source

Fixes SKFontStyleSlant to FontStyle conversion

pull/4381/head
Benedikt Schroeder 6 years ago
parent
commit
2bec4c14c5
  1. 8
      src/Avalonia.Visuals/Media/FontStyle.cs
  2. 3
      src/Skia/Avalonia.Skia/SKTypefaceCollectionCache.cs
  3. 11
      src/Skia/Avalonia.Skia/SkiaSharpExtensions.cs

8
src/Avalonia.Visuals/Media/FontStyle.cs

@ -11,13 +11,13 @@ namespace Avalonia.Media
Normal,
/// <summary>
/// An oblique font.
/// An italic font.
/// </summary>
Oblique,
Italic,
/// <summary>
/// An italic font.
/// An oblique font.
/// </summary>
Italic,
Oblique
}
}

3
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);
}

11
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;

Loading…
Cancel
Save