[thechat] Bi-directional User Interface

seb potter seb at members.evolt.org
Tue Nov 26 08:22:00 CST 2002

> > > What do you mean by "bi-directional" interface?
> >
> > An interface which could support both type of languages:
> > 1.    Left to Right written (English, Spanish, French etc.)
> > 2.    Right to Left written (Arabic, Urdu, Persian etc.)


It's not really the programming language that provides this kind of
input support, it's more a function of the presentation system used.

For example, the Windows support for Arabic and Hebrew is provided by
system libraries within the Windows GDI. Windows programming provides an
API to this presentation so that even if your choice of programming
language doesn't support right-to-left display of characters, Windows
can still display right-to-left. Of course, there is the independent
issue of actually recognising the characters used, so you would need to
look at languages that support Unicode or another similar multi-byte
character set.

As an example of this, you can use the Unicode character set to write an
HTML page in Arabic, and use HTML to specify the right-to-left display
order. However, only more recent browsers are capable of right-to-left
input and output.

Off the top of my head, Windows 2000 and XP, and Mac OSX as operating
systems provide this ability. The GTK and QT toolkits (libraries used in
the Gnome and KDE desktop environments), and the Java Foundation Classes
also provide this support. Python as a language natively allows pretty
much any character set and display direction to be used (a Kanji version
of Python exists!), and there are several python display libraries that
take advantage of this. I believe that the Simple Direct Media Layer (a
cross-platform set of C/C++ development libraries) also support this,
though I haven't had a chance to test their support yet.

So, really to help you further I would need to know what kind of
application you're developing, and which platform(s) you would want it
to run on.

Hope this helps,

- seb

seb potter - seb at poked.org
http://poked.org - It's what you value.

More information about the thechat mailing list