[QScintilla] wrong cursor moving

petr at scribus.info petr at scribus.info
Thu Nov 4 17:15:29 GMT 2010


hi all,
I'd like to open this issue again. It looks like the editor is quite
unusable on mac. So I'd like to perform some investigations for proper
bugreport...

On Tue, 29 Jun 2010 15:00:45 +0100, Phil Thompson
<phil at riverbankcomputing.com> wrote:
> On Wed, 16 Jun 2010 07:18:25 +0200, Petr Vanek <petr at scribus.info> wrote:
>> hi all,
>>
>> it looks there is a bug in cursor position calculation. When I set
>> qscintilla to use non-monospaced font (timing was screwed by youtube,
>> so the video is fast):
>>
>> http://www.youtube.com/watch?v=8KiqDbAf4pc
>>
>> It looks like the cursor is moved like with monospaced fonts - the gap
>> between real position and position where it should be is growing with
>> longer texts.
> 
> I've had other similar reports, but only with the Cocoa version of Qt - the
> Carbon version is fine, which suggests it is a Qt problem.

It's strange that the wrong sizing is not happening in the standard Qt
edit widgets.

Can you somebody run this code on Linux/Windows, please?

#include <QtGui>
#include <QtDebug>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QFont ff("Courier New");
    QFont vf("Arial");

    qDebug() << vf << ff;

    QFontMetrics vfi(vf);
    QFontMetrics ffi(ff);

    qDebug() << "variable" << vfi.width("m") << vfi.width("i") <<
ffi.width("mi") << vfi.width("mimi");
    qDebug() << "   fixed" << ffi.width("m") << ffi.width("i") <<
ffi.width("mi") << ffi.width("mimi") << ffi.width("mimimimi");

    return 0;
}

my results are:
QFont( "Arial,12,-1,5,50,0,0,0,0,0" ) QFont( "Courier
New,12,-1,5,50,0,0,0,0,0" ) 
variable 10 3 14 25 
   fixed  7 7 14 29 58

which can point on that the fixed-with fonts are calculated wrongly
(just guessing). I would expect
7 7 14 28 56

but it's only the try...

thanks,
petr
 



More information about the QScintilla mailing list