When a font has fallback, the fontHeight is broken can may cut the string
in the middle in the line. Try to use some representive character from multiple
languages to estimate the actual fontHeight.
Add screenshot to demonstrate the problem.
And what I'd like to point is, for CJK users, it is uncommon for them to select a single font to cover all the characters, because such fonts are really rare. People usually select one latin only font and just let system (fontconfig) select the fallback for them.
So this could be a common problem for them to see the "half character".
The issue with this approach is, that you get "too high" lines for the case that none of this characters ever appear.
Beside that, unfortunately, you get rendering artifacts in addition, as Qt will not paint e.g. selection high enough for lines without such chars.
See e.g. attached screenshot.
Any idea about how konsole derive the value?.. I'm not so sure if they did a better job (probably not because IIRC I have seen similar issue in konsole).
Then what is the ideal solution to you for this case?
Having different font height for every line? Or keep this "slightly higher line" by do vertical center align and fix the artifact?
At least the current state doesn't look right to me and I think it need to be fixed.
Actually, I could live with: