4

SkiaSharp doesn't consider the white spaces, when a text contains white spaces in prefix or suffix. It returns the text width only and ignore the white spaces. I am using the following code snippet to measure a string.

        SKPaint paint = new SKPaint();
        paint.Typeface = SKTypeface.FromFamilyName("Calibri");
        paint.TextSize = 15;

        SKRect rect = new SKRect();
        paint.MeasureText(" Test ", ref rect);

Is there any option to measure a text with trailing spaces using SkiaSharp?

1 Answers1

3

You need to use the return value of MeasureText:

float width = paint.MeasureText(" Test ", ref rect);
float whiteSpaceWidth = width - rect.Width;

And if you want to adjust rect to include the whitespace also:

rect.Left -= whiteSpaceWidth / 2;
rect.Right += whiteSpaceWidth / 2;
Harlan
  • 141
  • 8