mono/libgdiplus

Rendering text with ellipsis does not work when StringFormatFlags.NoWrap is specified.

jhergens opened this issue · 0 comments

Rendering text with StringTrimming.EllipsisCharacter and StringFormatFlags.NoWrap does not render any ellipsis.

The following code:

using var font = new Font("Arial", 11f, GraphicsUnit.Pixel);
using var backBuffer = new Bitmap(100, 35);
using (var graphics = Graphics.FromImage(backBuffer))
using (var stringFormat = new StringFormat())
{
    graphics.Clear(Color.White);
    stringFormat.FormatFlags = StringFormatFlags.NoWrap;
    stringFormat.Trimming = StringTrimming.EllipsisCharacter;
    var bounds = new RectangleF(10, 10, 45, 16);
    graphics.FillRectangle(Brushes.Red, bounds);
    graphics.DrawString("Too long string", font, Brushes.Black, bounds, stringFormat);
}

Renders an image like this on Windows:
text_win

But like this on Linux with Pango backend:
text_linux