PDFSharp TextFormatter.DrawString() with fractional font sizes in PDFSharp gives shortened lines

334 views Asked by At

I'm using WPF, and I have a RichTextBox in my user interface, which I convert to a PDF file. I take the RichTextBox.Document FlowDocument from the RichTextBox and translate it to a PdfSharp.Pdf.PdfPage.

This has been working pretty good (after finding some help for wordwrap on SO), but I found that I need to scale the PDF, so after I get the font from the FlowDoc, I multiply it by a scale factor, in my case 0.88.

This appeared to work great, but on closer inspection, I found that a few lines were terminating early.

// these lines use font info from the FlowDoc. To simplify, I've 
// hard-coded the font size.
// this works fine:
   var thisRunXFont = new XFont(thisRun.FontFamily.Source, 14, xRunFontStyle);

// this causes problems: 
    var thisRunXFont = new XFont(thisRun.FontFamily.Source,  12.32, xRunFontStyle);

Has anyone else seen this kind of trouble? I do go on to use MeasureString() to get the enclosing paragraph -- but forcing the rectangle to be wider does not change the behavior.

0

There are 0 answers