Daniel M. Berry
Cheriton School of Computer Science
University of Waterloo
Waterloo, ON, Canada
In an attempt to gain the benefits of computerization, Hebrew speakers, both in Israel and abroad, have attempted to adapt existing and to develop new software and hardware to deal with Hebrew.
All of this software and hardware face common fundamental problems, namely those of a standard encoding of Hebrew letters and of the fact that Hebrew is written from right to left, in a direction opposing the default for most software and hardware. The problems are compounded by the fact that Hebrew is generally used in a mixed-language, bi-directional environment, even if only to represent numerals.
This talk discusses the fundamental issues of encoding of letters, logical vs. visual order, a simple algorithm for conversion between these orders, when the conversion is carried out, and the position of the cursor, all in the presence of mixed-language, bi-directional text. The talk shows how these issues impact editors, formatters, sorting applications, and windowing systems.
The most interesting open problem is that of the behavior of mouse selection in windowing systems; here, particularly, there is a conflict between logical and alogorithmic simplicity and the interface with the user.
Solutions applicable for Hebrew can be applied to Arabic, Persian, and Urdu as well.