From 4687f5d3b42b04cf270c53e5bf77941d5743d03a Mon Sep 17 00:00:00 2001 From: Dirk Hohndel Date: Wed, 29 Jul 2015 12:24:18 -0700 Subject: Printing: calculate a much more accurate font scale value This simply uses the relative size of the profile. This can result in truly tiny text in print, but at least it's consistent and logical. We could add some minimum value there but I'm not sure that's the right answer, either. Signed-off-by: Dirk Hohndel --- printer.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/printer.cpp b/printer.cpp index fcafaa38e..fc18c9afe 100644 --- a/printer.cpp +++ b/printer.cpp @@ -61,11 +61,11 @@ void Printer::render(int Pages = 0) int profileFrameStyle = profile->frameStyle(); int animationOriginal = prefs.animation_speed; double fontScale = profile->getFontPrintScale(); + double printFontScale = 1.0; // apply printing settings to profile profile->setFrameStyle(QFrame::NoFrame); profile->setPrintMode(true, !printOptions->color_selected); - profile->setFontPrintScale(pageSize.width() * 0.001); profile->setToolTipVisibile(false); prefs.animation_speed = 0; @@ -81,8 +81,10 @@ void Printer::render(int Pages = 0) QSize originalSize = profile->size(); if (collection.count() > 0) { + printFontScale = (double)collection.at(0).geometry().size().height() / (double)profile->size().height(); profile->resize(collection.at(0).geometry().size()); } + profile->setFontPrintScale(printFontScale); int elemNo = 0; for (int i = 0; i < Pages; i++) { -- cgit v1.2.3-70-g09d2