RTL desktop and BiDi issues in KDE4
Diego Iastrubni
elcuco at kde.org
Fri Jan 25 17:26:11 GMT 2008
Hi all,
I am seeing too much problems in KDE4 regarding BiDi/RTL. It seems that many
applications are using self made widgets, which display text with the wrong
textLayoutDirection.
I am having problems fixing those issues, and I am missing something, so I ask
for your help. I hope that someone can help me, and I hope we all learn
something new, and stop messing applications for Hebrew/Arabic/Farsi
speakers :)
Some examples:
http://bugs.kde.org/show_bug.cgi?id=128268
This is Hebrew lectures loading in ktouth. This issue is almost fixed, but I
found a small problem. This application uses QGraphicsTextItem and I have not
found a way to set the direction of the text. The actual direction is taken
from the QPainter, which in turn is taken from the QWidget. This may lead to
Hebrew text in LTR mode when loading Hebrew lectures under English UI, or
English in RTL mode when loading English lectures in Hebrew UI (the problem
is the location of the text cursor when typing "space", it will be on the
wrong side).
http://bugs.kde.org/show_bug.cgi?id=156654
This is konsole, which is completely unusable for me. The lines there are
rendered with direction=RTL, which is bad. After playing a while with the
konsole code, I have no idea how to fix it. Setting the direction of
TerminalDisplay did not help, and setting the layoutDirection on the QPainter
on the paintEvent() did not help.
http://bugs.kde.org/show_bug.cgi?id=156093
This is kate, which is supposed to support BiDi, but currently just messes up
things. I am working with Hamish Rodda to fix this. The problem is short is:
each line should have it's own QTextCharFormat, which should contain a
direction which is not "derived" from the widgets direction (lets ignore for
the moment the issue that setting the direction to RTL should also align the
line to the right).
I am posing this in this list, since I assume (almost) every application in
KDE has some issue related to RTL/BiDi, and sometimes, it's plainly easy to
test this: just run your application with the switch "--reverse".
I also would like the help of you, in fixing the first 2 items. I am getting
help from Hamish about kate.
Thanks!
More information about the kde-core-devel
mailing list