2010/1/19 Diego Iastrubni <elc...@kde.org>: > This is really, really bad.... from qt/src/gui/painting/qpainter.cpp, inside > void QPainter::drawText(const QPointF &p, const QString &str, int tf, int > justificationPadding) > > I see this code: > QStackTextEngine engine(str, d->state->font); > engine.option.setTextDirection(d->state->layoutDirection); > engine.itemize(); > QScriptLine line; > line.length = str.length(); > engine.shapeLine(line); > int nItems = engine.layoutData->items.size(); > QVarLengthArray<int> visualOrder(nItems); > QVarLengthArray<uchar> levels(nItems); > for (int i = 0; i < nItems; ++i) > levels[i] = engine.layoutData->items[i].analysis.bidiLevel; > QTextEngine::bidiReorder(nItems, levels.data(), visualOrder.data()); > > Now... it seems like QTextEngine::bidiReorder() does exactly what you want > logical->visual. However... this class is defined inside qtextengine_p.h... > which means this is not official API. > > But, IMHO, even if it's not marked, you can open a bug report on this at > Nokia's bug tracker, and they will handle it for Qt 4.8, maybe 4.7. Meanwhile, > if the header is installed - abuse it. If it's not included - hack it inside > your application > > (*) I know that this will not be accepted at KDE's svn ... >
Could you file that bug, Diego? It is far above my understanding or level. Thanks! Here is the Qt bug tracker: http://bugreports.qt.nokia.com/secure/CreateIssue!default.jspa -- Dotan Cohen http://what-is-what.com http://gibberish.co.il _______________________________________________ Linux-il mailing list Linux-il@cs.huji.ac.il http://mailman.cs.huji.ac.il/mailman/listinfo/linux-il