void RenderTabLeader(TabOffset tabOffset)
{
string leaderString = " ";
switch (tabOffset.leader)
{
case TabLeader.Dashes:
leaderString = "-";
break;
case TabLeader.Dots:
leaderString = ".";
break;
case TabLeader.Heavy:
case TabLeader.Lines:
leaderString = "_";
break;
case TabLeader.MiddleDot:
leaderString = "ยท";
break;
default:
return;
}
XUnit leaderWidth = MeasureString(leaderString);
XUnit xPosition = this.currentXPosition;
string drawString = "";
while (xPosition + leaderWidth <= this.currentXPosition + tabOffset.offset)
{
drawString += leaderString;
xPosition += leaderWidth;
}
Font font = this.CurrentDomFont;
XFont xFont = CurrentFont;
if (font.Subscript || font.Superscript)
xFont = FontHandler.ToSubSuperFont(xFont);
this.gfx.DrawString(drawString, xFont, CurrentBrush, this.currentXPosition, CurrentBaselinePosition);
}