Why should we not use the non integer font widths?
They were implemented for a reason, and now you want to go back??
The floating point method works for both methods so why lock ourselves to the past?
Why not embrace the future?
The point here is to have something that works and your current patch does not fix the issue completely. As stated in the KDE bug/review report, one has to adapt the whole rendering/positioning code to use floating-point computation from beginning to end; this means using qreal values, QFontMetricsF, QRectF, qreal-based QPainter methods... You should never have to use qRound. Your patch is a step in the right direction, but it needs further work.
If KTerminal had used double from the start then they would not have had problems and
would now by using the newer font methods instead of locking themselves into the past.
That's a complain/suggestion you should send to the KDE developers.
Michael.