[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Fwd: Bidi In Konsole
- To: developer at arabeyes dot org
- Subject: Fwd: Bidi In Konsole
- From: Meni Livne <livne at kde dot org>
- Date: Sat, 4 May 2002 21:11:46 +0300
- User-agent: KMail/1.4.5
Greetings,
Konsole that shipped with KDE 3.0 had bidi support in it, but they're planning
to drop bidi from it in KDE 3.1, since its implementation is too broken.
Does anybody know of any terminal that handles bidi well enough, and how it is
done there? I've seen some recent discussion about mlterm, though I never
tried it myself. How is it with bidi text writing and selection? Perhaps
Konsole could use mlterm's implementation...?
---------- Forwarded Message ----------
Subject: Re: kdebase/konsole/konsole
Date: Saturday 04 May 2002 20:42
From: Waldo Bastian <bastian at kde dot org>
To: Meni Livne <livne at kde dot org>, kde-cvs at kde dot org
On Saturday 04 May 2002 07:47 am, Meni Livne wrote:
> On Saturday 04 May 2002 17:33, Waldo Bastian wrote:
> > Modified Files:
> > TEWidget.cpp
> > Log Message:
> > Don't do bidi inside konsole.
>
> Why not? Should the terminal really be an exception?
> What if a user needs to view bidi filenames in his mounted Windows
> partition, or read his bidi email through pine, or view text files with
> less? Or suppose that in the future man pages will get translated into an
> RTL language. They would look O.K if viewed through KHelpCenter, but
> reversed if viewed by the man command in a konsole.
>
> I think we should at least ask groups like ArabEyes and FarsiKDE for their
> opinion. I think they would prefer having bidi stay, or at least have it
> configurable.
The problem is that the current implementation is horribly broken. Konsole
emulates a terminal and it assumes that the screen is made out of rows and
columns, e.g. 80x25, each position can contain a single character. Those
squares are filled from left to right, but if they are filled with a RTL
language they get reversed when painted on the screen. That's a problem
because now the characters shown on the screen no longer match the square
such character belongs too. Example:
It is stored like this:
0 1 2 3 4 5 6 7 8
R T L - T E X T
But shown like:
0 1 2 3 4 5 6 7 8
T X E T - L T R
When you now try to select "LTR" you would select column 5, 6 and 7 and you
would end up with "EXT" (Or "TXE") instead of "LTR"
I would really like to know how this is handled in traditional RTL terminals.
Cheers,
Waldo
--
bastian at kde dot org | SuSE Labs KDE Developer | bastian at suse dot com
-------------------------------------------------------