Software Engineer, Motorola, Wireless System Platforms
The X Window System is a graphical environment that can be run on various platforms ranging from the most common Personal Computer to the most sophisticated workstation. Its network transparency makes it ideal for use in multi-user and/or networked environments. This property has fueled its proliferation into the engineering world. Its wide-spread use by the Ethiopian community around the world has ignited an effort to introduce the Ethiopic script into the X Window System.
X and Fonts
The X Window System supports fonts in a very open architecture. The X server maintains a list of fonts that can by dynamically altered at any time. This font list points to distinct font files on a file system or to another font server. X supports 16-bit character addressing which eliminates the 256 glyph limits imposed by other systems.
Font files contain font specific information such as the sizes and bitmaps of each glyph. These files are platform specific, so a Bitmap Distribution Format was created to facilitate porting to different platforms. This standard specifies that BDF files are distributed in ASCII (7-bit) form that can be read by humans or any ASCII conforming system. BDF files can be modified and compiled into platform-specific font files on any system. (A postscript document defining the BDF format can be obtained by anonymous ftp from ftp.adobe.com:/pub/adobe/DeveloperSupport/TechNotes/5005.BDF_Spec .ps)
X's open client-server structure allows for relatively simple expansion of its fonts. Various tools such as xfed are available for the development of fonts (in BDF format). Font creation is the most time- consuming and tedious task involved in making the Ethiopic script available in X.
Input Method and Addressing
Even though X provides for 16-bit character addressing, we are still limited by the QWERTY keyboard designed for the Latin script. Since a one-to-one mapping of Ethiopic character set with such a keyboard is not possible, an "Input Method" is required to translate a sequence of key-presses into a unique character address. Therefore each application that uses the Ethiopic character set must have a software layer that traps keyboard inputs and does the translation into the proper address before querying the X server for the glyph. This translation can be a complex algorithm, or a simple table lookup depending on implementation. Ordering of the fidel characters in the font file (i.e. character addressing) can be arbitrary. However, it is beneficial to use an addressing scheme that aids in the optimization of the translation process mentioned above. This interdependency between character addressing and input translation process merits the creation of ASCII-like standards for the fidel's addressing (this issue is not within the scope of this document). There is a group actively working towards the creation of such a standard and its inclusion to the ISO's Unicode standard which is intended to contain every written script.
Current State of Ethiopic in X
Efforts to migrate the Ethiopic script to the X environment started with the development of an application specific (i.e. not an X font) font set with a unique addressing scheme and encoding format. This initial effort was abandoned in favor of adhering to the standard X font format in order to facilitate portability and more rapid development of applications. As a result of this renewed focus, there are now several X fonts in BDF format available for distribution. The addressing scheme used in these fonts is based on, and therefore favors, the S.E.R.A. standard proposed by D. Yakob Mulholland and Y. Firdyiwek (again, the details of this scheme are not covered by this paper). Application development efforts are still at their infancy. Todate, only one Ethiopic editor is available, MuLE (Multi-Lingual Emacs). Mule is a multilingual enhancement to GNU Emacs that supports various scripts including Arabic, Chinese, Cyrillic, and now Ethiopic. It also uses the S.E.R.A. system for both input method and 7-bit ASCII file I/O (useful in cross- platform communications like usenet and email). Another application available is a simple viewer of Ethiopic text encoded 7-bit ASCII using the proposed S.E.R.A. system. There also exists an Ethiopic extension to TeX.
The availability of X fonts paves the way for the further development of applications using the Ethiopic script. The next major effort ought to be the creation of a library that is a collection of common functions that will be used in all Ethiopic applications such as ASCII< - > Ethiopic translation, Ethiopian< -> Julian date conversion, etc. Such a library would facilitate more rapid application development by eliminating duplicity of efforts. The number and range of applications that can be developed is limitless. Virtually all currently existing application based on the Latin script can be paralleled in Ethiopic.