public SkiaFont(string name, float size, FontStyle fontStyle, GraphicsUnit unit, char?typefaceCharakter = null) { var pixelSize = size; switch (unit) { case GraphicsUnit.Point: pixelSize = size.FontSizePointsToPixels(); break; } var skFont = new SKFont(SKTypeface.FromFamilyName(name, fontStyle.ToSKFontStyle()), size: pixelSize); _skPaint = new SKPaint(skFont) { Style = SKPaintStyle.Fill }; this.Name = name; this.Size = size; this.Style = fontStyle; this.Unit = unit; if (typefaceCharakter.HasValue) { var fontManager = SKFontManager.Default; var typeFace = fontManager.MatchCharacter(name, typefaceCharakter.Value); if (typeFace != null) { _skPaint.Typeface = typeFace; } } }