Qt 4.8.3 displays incorectly a number if a name is Arabic



  • Hi,

    The QT 4.8.3 needs to display '700-1414 arabic_name' = "700-1414 شسي ". Instead it displays '1414-700 arabic_name' = "شسي 700-1414". The same string was displayed correctly ("700-1414 شسي ") with Qt 4.7.2.

    Is this Qt 4.8.3 bug or a different API needs to be used for 4.8.3? Or may be there was a bug in Qt 4.7.2? If we add an LRM (http://en.wikipedia.org/wiki/Left-to-right_mark) before the number then Qt 4.8.3 displays the digits correctly.

    Thanks,
    Dusan Mudric.


  • Lifetime Qt Champion

    Hi and welcome to devnet,

    On which OS did you saw the problem ?

    Could you also try the latest version (currently 4.8.5) of Qt to see if it is still there ?



  • The problem is seen on Linux 2.6.27 running on ARM. I can not test it on QT 4.8.5. Migration from 4.7.2 to 4..8.3 took a while (updating libraries, header, and moc files) and I don't have time for this.

    Would it help if I find which QT function was called and what the attribute values were used during the call? I suppose you should be able to find out the differences between 4.7.2 and 4.8.3 for that function.

    Thanks,
    Dusan.


  • Lifetime Qt Champion

    Sure it would.

    You can also do a quick search in "Qt's bug report":https://bugreports.qt-project.org/issues/ system. If you don't find anything there, add a new bug report with a complete minimal example.



  • Here is the source code. Can you let me know if there is a fix for this problem?

    main.cpp
    @
    #include "widget.h"
    #include <QApplication>

    int main(int argc, char *argv[])
    {
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec&#40;&#41;;
    

    }
    @

    widget.h
    @
    #ifndef WIDGET_H
    #define WIDGET_H

    #include <QLabel>

    class Widget : public QLabel
    {
    Q_OBJECT

    public:
    Widget(QWidget *parent = 0);
    ~Widget();
    };

    #endif // WIDGET_H
    @

    widget.cpp
    @
    #include "widget.h"

    Widget::Widget(QWidget *parent)
    : QLabel(parent)
    {
    setText(QString::fromUtf8("\u0627\u0644\u062C\u0632\u064A 700-1414"));
    }

    Widget::~Widget()
    {

    }
    @


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.