• Ok, I have found the problem.  Apparently Microsoft has a bug in their e.Graphics.MeasureString function.  To remidy this re-organize the primary if block like this:

    If Asc(smallArray(0, x).Chars(0)) < 30 Then ' make sure to dispose of odd char's in the array

    ' See if any characters will fit.

    ElseIf characters_fitted > 0 And xmin < (e.MarginBounds.Right - 5) Then

    Notice that I switched the if and elseif lines, that is because I was occasionally printing out a graphical representation for the char(0).