I'm trying to troubleshoot an issue I've mentioned before and I'm stuck at a couple of places which I thought someone here might be able to help with.
First a brief recap of the problem - One of the applications in the Official Repository is a GIS application called QGIS. In it there's a few text editing widgets based on QScintilla. In these (ever since an update a few months ago), the location of the caret (the blinking cursor at the end of the edited text line) does not match the location of the last letter in the text string. More specifically, it is located exactly where the last letter would be if the string had no kerning (each letter took up the same space regardless of its shape).
Here it is with 'W's
and here with 'I's
In neither case has the caret been moved by the mouse or cursor keys, it's exactly where it ends up after typing the letters. Highlighting also selects letters as if there were no kerning and placing the caret manually (by mouse or arrow keys) also assumes no kerning - ie if I were to delete the letter immediately behind the caret, it would not delete the one which looks to be behind it, but one some way off.
As far as I can tell the issue only occurs on a Plasma/Manjaro combination. Plasma/Ubuntu has been tested and is fine, manjaro/XCFE has been tested and is fine. I've also tested QScintilla on it's own (by making a simple box in a python script) and that too is fine. I've reported the issue to the developers at Qgis, but since it is not replicable on any other set-up, no-one's moving on it. I've also reported it to KDE, but again, since it only happens on Qgis with Manjaro, no-one's dealing with it. Basically every organisation thinks it's the other's fault.
So I'm left trying to fix it myself and I need some help. I'm not experienced with programming, but I can learn if need be, I'm just looking to be pointed in the right direction.
According to the API documentation for QGIS, the text box which is malfunctioning is handled by QgisCodeEditor, the files for which are here and here. As you can see, they're not long and even with as little experience as I have, it's not hard to see what they do (mostly).
So the question (finally!) is - with such a limited amount of code to go on, it seems clear the problem is to do with Plasma presenting things like monospace font and Qfont styles (like QFont::TypeWriter). I thought these would be handled by Qt, but that would be the same on all systems, so where do I need to look within Plasma to see how it might handle these fonts and styles? I've tried playing around with fonts in the settings manager, but nothing makes any difference, so I think the font is set by Qt.