internal static XUnit GetLineHeight(ParagraphFormat format, XGraphics gfx, DocumentRenderer renderer)
{
XFont font = FontHandler.FontToXFont(format.Font, renderer.PrivateFonts, gfx.MUH, gfx.MFEH);
XUnit singleLineSpace = font.GetHeight();
switch (format.LineSpacingRule)
{
case LineSpacingRule.Exactly:
return format.LineSpacing.Point;
case LineSpacingRule.AtLeast:
return Math.Max(format.LineSpacing.Point, font.GetHeight(gfx));
case LineSpacingRule.Multiple:
return format.LineSpacing * format.Font.Size;
case LineSpacingRule.OnePtFive:
return 1.5 * singleLineSpace;
case LineSpacingRule.Double:
return 2.0 * singleLineSpace;
case LineSpacingRule.Single:
default:
return singleLineSpace;
}
}