public void VerticalAlignmentTests( VerticalAlignment vertical, HorizontalAlignment horizental, float top, float left) { string text = "hello world\nhello"; Font font = CreateFont(text); int scaleFactor = 72 * font.EmSize; // 72 * emSize means 1 point = 1px var span = new RendererOptions(font, scaleFactor) { HorizontalAlignment = horizental, VerticalAlignment = vertical }; IReadOnlyList <GlyphLayout> glyphsToRender = new TextLayout().GenerateLayout(text.AsSpan(), span); IFontInstance fontInst = span.Font.Instance; float lineHeight = (fontInst.LineHeight * span.Font.Size) / (fontInst.EmSize * 72); lineHeight *= scaleFactor; FontRectangle bound = TextMeasurer.GetBounds(glyphsToRender, new Vector2(span.DpiX, span.DpiY)); Assert.Equal(310, bound.Width, 3); Assert.Equal(40, bound.Height, 3); Assert.Equal(left, bound.Left, 3); Assert.Equal(top, bound.Top, 3); }