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. -
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. -
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();
}
@widget.h
@
#ifndef WIDGET_H
#define WIDGET_H#include <QLabel>
class Widget : public QLabel
{
Q_OBJECTpublic:
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()
{}
@