Computer Space: Typing Devanagari on a Standard Keyboard
The Basic Problem.
There are too many characters in the Devanagari script to fit them all on a simple keyboard. Since we do not need upper-case characters, it is possible to use shifted keys to represent other characters.1 Thus, da could be mapped onto the "d" key and dha on the Shift-d (or capital D). Even if all of the basic characters could be located on the regular and shifted keyboard, we still have the problem of representing all of the conjunct characters.
The typical way to handle numerous Devanagari characters has been to map them onto several other layers of the keyboard. You might type "t" to get a "ta"; Shift-t to get a "tha"; Ctrl-Alt-t to get "tta" and you might type Ctrl-Alt-Shift-t to get "kta". In some cases, the program required you to look up the characters in a book, hold down the Alt key and hit three numbers on the keypad. As you can imagine, many of these key combinations are not easy to remember. When you use a system like this, you must constantly look the characters up in a reference book.
Computers excel at repetitive, simple tasks; the obvious next step was to have the computer look up the conjuncts and determine which one to use. This leaves far fewer keys for the user to memorize. It is possible to map all the necessary keys onto just the Unshifted and Shifted keys, eliminating the need to use the Control and Alternate keys altogether. If these characters are intelligently mapped, the layout becomes easy to memorize.
In this review, I will be discussing two software packages which run on the Windows environment. Both attempt to provide what I consider the best solutions available at this time. By coming to understand the basic issues discussed in this article, the reader should be able to select an appropriate program for use on any computer system. There have been reasonable solutions available on the Macintosh for a few years. The Windows market has finally come up with a reasonable program.2
Current software consists of a keyboard-interface program with a Devanagari font.3 As a user, you start a keyboard-interface program and whatever word processor you prefer, such as Microsoft Word or WordPerfect.4 When you want to type in Devanagari, you switch the keyboard-interface program into an active state, select the Devanagari font in your word processor and begin typing. To switch back to English, you put the interface program into an inactive state and change back to a Roman font. To use dialog boxes, you must place the keyboard interface program into an inactive state.
UniType International from Gamma Systems
UniType has been positioned by Gamma as the only multilingual software you will ever need. For this review, I am focusing only on the Devanagari aspects of UniType International. The advertising promises that UniType will form all conjuncts properly and that the keyboard is mapped to correspond phonetically with the American English keyboard. This is also what sales representatives told me. Unfortunately, the product falls short on both promises.
The development process at Gamma has one serious flaw: no one knows enough about Sanskrit. I expect they will attempt to rectify this problem in the future, but that will probably take some time. Sanskrit is only one of the hundreds of languages they support.
UniType International, the basic package ($345), offers 175 languages and, for a fee, the user can add many other languages. The package claims to work with any Windows application, although it does not work well with databases.5 UniType also supports the UniCode standard, which provides compatibility with third-party solutions, spell-checkers, translation tools, etc. There is no spell-checker available for Sanskrit and no indication that there will be.
Learning How to Use UniType
The documentation for UniType is badly written, incomplete and sometimes incorrect. It does not include the most basic information about using the Devanagari keyboard such as the fact that you need to use the + key as the virama. The user is expected to find this information in the Help system of the program. I went to the Help system's search feature and looked under a number of words including "keyboard," "Sanskrit," "Devanagari," "Indic," "Indian," "Hindi," "conjuncts," "ligatures,"6 etc.--all to no avail. To find the information, you must wade through several layers of the help system in a section covered by the window the program puts up over the Help system.
Here is the secret which lies so well hidden in the help file: To type a conjunct character in UniType, the user types the first character, followed by a virama, followed by the next character. The virama is located on the plus key. This is some distance from the home keys and annoying to touch-typists who have not mastered the long reach with the right pinkie. This annoyance alone would seem small, but unfortunately, Gamma has not kept the input method consistent.
Depending on how a conjunct is formed, Gamma requires a different input method. The user must memorize which conjuncts are contained within Gamma's font. For example, to put in the conjunct "tta" the user must type "t + t" but to produce the conjunct "tva" the user must type "T v a" (T is Shift-t). Note that, in the first example, the user types the virama between the two t's. In the second example, the user must know that the partial-ta is on the Shift-T key and that the conjunct will not be formed automatically. Not only is it an annoyance to have to pay attention to how the conjuncts are formed, it also requires the user to remember the idiosyncrasies of the font supplied by Gamma. Looking at a few Sanskrit texts from different publishing houses will reveal that there are a number of conjuncts that are represented in diverse ways. "tva" for example can be represented with a partial "ta" followed on the horizontal axis by the "va" character, but it can also be represented by the "ta" character with a small partial "va" character on the vertical bar below the "ta."
As a further inconvenience, some base characters are located on Ctrl-Shift-Alt keys. For example, Ta, Tha and Da are on Ctrl- Shift-Alt-1, Ctrl-Shift-Alt-2 and Ctrl-Shift-Alt-3, respectively. This is a very inconvenient combination of keys and is not mnemonic. There is no good reason for this mapping. Even if a character is little used, why make it harder to find than some of the conjuncts, all of which should be mapped automatically and never need to be accessed by the normal user? Several of the keys are not mapped in a phonetically sensible way when they could be. Because of the complexity of the mapping, it is too difficult to provide a comprehensible table of the character-mapping Gamma has selected, especially in a journal which is electronically distributed.
Gamma does not provide a map for the Devanagari keyboard. I can understand their desire to save printing costs by not providing a paper copy, but they do not even provide a copy on the disk that the user can print out. Instead, the manual and Help system instruct the user to display the keyboard, hit Alt-Print Screen to get a copy onto the system clipboard, open Paintbrush (a program which comes with Windows), paste a copy of the keyboard into Paintbrush and print it out. There are some problems with this method.
The print-outs are sloppy, screen resolution printouts which cut off part of the keyboard. The print-outs are hard to read and a hassle to make. The instructions provided are incomplete and the user has to figure out a number of in-between steps. You cannot even print out the Ctrl-Alt-Shift and Ctrl-Alt keyboards.7 This is a simple lack of testing the documentation. It is also quite inconvenient for the user.
Some of the conjuncts do not print out as they should. For example, the partial "ta" does not connect with a following "va" or "ya." There is a horizontal gap between the partial "ta" and the character it should be joining.
I could not get the grey arrow keys to work when using UniType.8 These keys are used to move around in your document in most Windows programs. This is, apparently, a known problem at Gamma. If you switch off the Num Lock key, the problem goes away. Most users leave the Num Lock key active so they can use the arrows to move around in their documents and the number pad to type numbers.9
I also had bad experience with customer service and technical support at Gamma. The first problem was lack of responsiveness to simple questions by e-mail. It is important to note that Gamma will only deal with customers by phone for the first month, after which you are forced to write to them. If they so not respond promptly by e-mail, you will just have to wait. I communicated to them both through CompuServe and an Internet address. The technical support representative responsible for answering my questions could not tell me the basics of using Sanskrit with UniType.
To Gamma's credit, when I sent a complaint, the President of the company sent me a nice e-mail, and the programmer who worked on the Devanagari implementation called me the next day. The programmer was willing to talk with me at length about the implementation and was interested in feedback on weaknesses in the product.
ILKEYB (Indian Language Keyboard Program)
ILKEYB is the program UniType should have been. The basic theory behind ILKEYB is the same as UniType. To create conjuncts, you simply type the key which represents the character, followed by the virama. ILKEYB is relatively inexpensive ($77 with two fonts). It is the easiest to use. It was designed intelligently, implemented well and customer service is excellent. The authors are only concerned with Indian languages at this time; ILKEYB is not designed to work with hundreds of other languages. The authors of this program are familiar with Indian languages, which gives them an incomparable edge. All of the characters are mapped on the regular keyboard or the Shift- keyboard. As much as possible, the characters are mapped phonetically. The virama is located on the "/" key, which is very easy to strike.
This layout is easy to memorize. You can almost use it without looking at the documentation. The layout is so straightforward that it is simple to represent. This layout shows the shifted characters as capital letters. The vowels, with the exception of short a, are represented as the key which types the vowel within a word.10 A different key must be used for vowels which appear at the beginning of a word.
a A i I u U % & l& e E \ : k K g G M c C j J V q Q z Z N t T d D n p P b B m y r l v x S s hTo get ra at the beginning of a conjunct, type "*".
All the conjuncts are formed automatically and, with the exception of "ra" noted below and vowels at the beginning of words, work with one stroke per character. The short i must be typed before the character, as it appears in the script, which I consider sensible.
The documentation for the program was short, simple and direct. In a few pages, the user can learn all that is needed to use the program effectively. Included are a reference card and a printout of conjuncts with keystrokes. These are almost unneeded with this product, since the interface is so intuitive. These items are sorely missed by users of Gamma's product since the keyboard wasn't mapped as sensibly, and the conjunct formation is not consistent.
There were only three minor flaws with this product that bothered me. I contacted Mr. Patil, one of the developers of this program, and he offered to customize the program's font and keyboard layout for a reasonable fee, solving the first two problems.11 The third problem was that, if the character "ra" was part of a conjunct, the user must type one of two keys, depending on whether the "r" is at the beginning or end of the conjunct. Solving this problem poses greater technical difficulties. Incidentally, this problem also exists in Gamma's UniType.
Possible Enhancements for Devanagari Windows Products
One possible input method would be simple transliteration. To get "tva" the user would simply type "tva." The user does not need to use the virama to get conjuncts and fewer keys are needed.12 Typing with this keyboard would be like typing Sanskrit using the Kyoto-Harvard convention. Some users prefer this method.
The method used by Gamma and Mr. Patil has the advantage of reflecting the way the language works a bit better. I hope future programs will offer both as options. Future programs could also be combined with utilities to convert between the supplied fonts and popular transliteration schemes such as Kyoto-Harvard, ITRANS, etc. This would allow users to exchange files with other users and internet sources of texts. I would also like to see more sophisticated typesetting features built in seamlessly. If the user types in a conjunct ending in "i," a program could decide to use a longer or shorter hook above the line based on the size of the conjunct. The position of "r" could be handled automatically, regardless of where "r" appears in the conjunct. The software could also determine if a vowel were being typed at the beginning of a word or not and would provide the appropriate character automatically.
For typing Devanagari in the Windows environment at this time, ILKEYB is the best solution. It is reasonably priced, it works well, it is simple to use and, were you to run into any problems, the service is among the best I have found in the software business.
If you need a product that will allow you to use hundreds of different languages and don't mind the inconveniences when typing in Devanagari, UniType is a reasonable purchase. I have not tested the implementations of other languages, but my experience as a software tester says that if you find a number of flaws in a given area, you will probably find more elsewhere. If UniType International interests you, I recommend waiting for Gamma's next release and seeing how it turns out.
Contact Information and Pricing
Gamma Productions, Inc., 12625 High Bluff Drive #218 San Diego, CA 92130 (800)-97-GAMMA email@example.com UniType International $345 (educational discount available) Shrikrishna Patil 21647 Rainbow Drive Cupertino, CA 95014-4826 (408)446-9144, (408)996-2136 FAX (408)255-6443 firstname.lastname@example.org ILKEYB with three fonts $77
Before discussing the problem, we need to have a common understanding of a few terms. A shifted character means holding down the shift key, which in most cases, produces the capital letter. The typical IBM PC keyboard will have a Control key, often marked "Ctrl," a Shift key, and Alternate key, often marked "Alt," a Print Screen key and a Number Lock key, often marked Num Lock. I will be talking about using these keys in a typical shorthand. If I want to say "hold down the Control key and the Alternate key at the same time and press the letter x," I will simply write Ctrl-Alt-x. ↩
Many of the early programs which allowed users to create Devanagari text on PCs were specialized word-processing programs. Unfortunately, most of them did not support footnotes and other features which are useful to scholars. ↩
I am using the word "font" in the way it is used in the computer industry to indicate a typeface that can be varied in point size, weight, etc. ↩
I am testing these programs using FrameMaker. ↩
Database programs use 7-bit encoding and cannot support 8- bit. Gamma has 7-bit solutions for many languages and says they will deliver a 7-bit font for Indian languages in the future. I do not know if these will be compatible with the 8-bit fonts (through conversion) or not. ↩
Conjuncts and ligatures were covered in a section of the manual together, so I thought I might find it in this place in the Help system. ↩
The keyboard layouts which involve the use of the Alt- key cannot be captured because the Alt- key is doing double duty with the keyboard layout and the Alt-Print Screen. There is a file posted on CompuServe which its author calls "the cross reference Gamma should have provided!" for users of Sanskrit. It is in Ami Pro Format in Gamma's section (GO GAMMA on CompuServe) ↩
The grey arrow keys are the keys between the number pad and the alphabet keys on a standard AT style keyboard, often referred to as a 101 key keyboard. ↩
Standard systems will be in this condition by default. I am quite surprised this problem was not fixed before shipping the product. If they did not find this problem before shipping, that is an even more serious issue. ↩
There is, of course, no short "a" vowel represented within a word. The short "a" character followed by the long "A" forms the long "A" at the beginning of a word. ↩
The first problem was that I did not like one aspect of the font. The characters "va" and "ba" had a noticeable gap between the top of the loop and the vertical bar, which looked odd compared to the fonts with which I was familiar. Mr. Patil was happy to change this.
The second problem was that, although I found the keyboard to be very sensible, there were four keys that I thought would be better in other locations. There are a few possible variations in sensible layouts. My mapping ended up like this:
a A i I u U % & l& e E o O M : k K g G \ c C j J V q Q z Z N t T d D n p P b B m y r l v x S s hTo get "ra" at the beginning of a conjunct, type R. ↩
Aspirated characters are formed by adding "h" after the non- aspirated forms. "tha" can be type "tha" and "cha" "cha," so there is no need for separate keys to be mapped for these characters. ↩