namespace Dashboard.Drawing { public interface IFont : IDisposable { string Family { get; } FontWeight Weight { get; } FontSlant Slant { get; } FontStretch Stretch { get; } } public record struct FontInfo(string Family, FontWeight Weight = FontWeight.Normal, FontSlant Slant = FontSlant.Normal, FontStretch Stretch = FontStretch.Normal) : IFont { public void Dispose() { } } public interface IFontLoader { IFont Load(FontInfo info); IFont Load(string path); IFont Load(Stream stream); } }