> > > 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.) Hi, 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.