http://redmine.emweb.be/http://redmine.emweb.be/favicon.ico?16934085252020-10-31T18:09:43ZRedmineWt - Bug #7810: measureText() not accuratehttp://redmine.emweb.be/issues/7810?journal_id=263662020-10-31T18:09:43ZMichał Błaszakmichalblaszak@hotmail.com
<ul></ul><p>I found this in ServerSideFontMethics.c (look at REL_ERROR = 1.02; what is it for? When I divide the width returned by measureText() by 1.02 I get the perfect result!):</p>
<p>WTextItem<br>
ServerSideFontMetrics::measureText(const WFont& font,<br>
const WString& text, double maxWidth,<br>
bool wordWrap)<br>
{<br>
#ifdef WT_HAS_WPDFIMAGE<br>
painter_->setFont(font);<br>
WTextItem t = painter_->device()->measureText(text, maxWidth, wordWrap);<br>
const double REL_ERROR = 1.02;<br>
return WTextItem(t.text(), t.width() * REL_ERROR,<br>
t.nextWidth() > 0 ? t.nextWidth() * REL_ERROR : t.nextWidth());<br>
#else<br>
throw WException("ServerSideFontMetrics not available");<br>
#endif // WT_HAS_WPDFIMAGE<br>
} </p>