Sunday, January 22, 2012

Input Confirmation Feature in GeezIME

How to write ክወስድ and ኣርኣያ!
Fitsum Gaim

For languages like Tigrinya and Geez which consist of a few hundred characters in their writing system, it is not possible to assign a unique key on the standard keyboard for each letter of the language. Therefore building an input method editor for such languages requires coming up with a scheme that should pass this limitation, the scheme should take into consideration many qualities from requiring fewer keystrokes, to providing an easy-to-learn key combination.
One such popular scheme used by many input method editors is the phonetic mapping of the English letters to the desired language.
Able GeezIME follows the phonetic mapping scheme, along with some interesting features like input confirmation.

Based on the phonetic scheme “he” gives ሀ, “he” gives ሁ, and so on.
Phonetic key mapping has its strengths and weaknesses, one of the pros is that it provides an easier and faster learning curve for the key combinations. The cons include: it may lead to ambiguity in some cases, this of course varies based on the nature of the language for which it is used.
Take the case of Geez which for example, consists of sets of different characters which sound similar, such as ስ and ሥ, ህ and ኅ, ጽ and ፅ along with their variations, and also characters that sound like a combination of two or more other letters, for example, ኵ sounds like ክው, ዅ like ኽው, and ቍ, ቝ, ጕ, and ኍ sound like ቅው, ቕው, ግው, ህው respectively, again along with their corresponding variations. Hence by the phonetic rule, each of these corresponding pairs would require identical keyboard combinations, an issue that might be referred to as phonetic ambiguity.
Due to such issues, the phonetic keyboard mapping scheme causes some sort of uneasiness to the writer and the effect goes deeper to causing spelling and grammatical errors.

Able GeezIME’s key mapping considers these consequences by using a number of methods and introducing an input confirmation mechanism.

The input confirmation method can be well explained using an example. Typing “he” while GeezIME is in the On state gives “ሀ” and typing “kw” gives “ኵ”(1), phonetically these results make sense but in some cases, they may not be the intended ones. Probably the user wanted to write ህአ and ክው, lets call this issue the vowel state issue. Other examples are typing “araya” will give “ኣራያ” although “ኣርኣያ” was most likely the desired one, and typing “kwesd” will give “ኵአስድ” instead of “ክወስድ” such problems can be avoided using the input confirmation, this method advises the use of special keys such as the Control and Escape to confirm input. For example, typing “h + Ctrl(press and release) + e” gives “ህአ” that is the Control after “h” confirms “ህ” as final input, and then it is no longer subject to change. Similarly “ar+Ctrl+aya” will give “ኣርኣያ” and “k+Ctrl+wesd” gives “ክወስድ”. The Escape key can also be used for the same effect but the Control key has been found to be preferable to many GeezIME users.
Therefore using the input confirmation feature in all such cases saves users from the phonetic ambiguity and the vowel state issues. One thing to note here is that the keys i.e. either Control /Escape, need not be held down till the next character is typed. Just pressing and releasing them will do the job, in fact holding them down and pressing another key might have other effects, for example, Ctrl+w is many times used for closing a window, and Ctlr+A is used for the Select All command, and so on.

(1) The combination of “kw” to give ኵ will be changed on the coming release of GeezIME, i.e. version 1.1.

New on GeezIME 1.0 2012:
An updated release of GeezIME 1.0, that is since the initial release, which is the only available version for download has some slight changes on the keyboard mapping, specifically that of 6 characters. These characters have been majorly causing the above-stated issues. These changes don’t affect the way other characters are written and do not render useless the input confirmation method. The changes are:

Geez characterPrevious combinationIn version 1.1Consequently
QwqWNow qw will give ቅው
QwQWNow Qw will give ቕው
KwkWNow kw will give ክው
KwKWNow Kw will give ኽው
GwgWNow gw will give ግው
HwhWNow hw will give ህው

With the new changes typing “kwesd” gives “ክወስድ” and typing “kwexA” will give “ክወጽእ” but typing “araya” will still give “ኣራያ” that is because the “ra” without Control in between will result in “ራ” therefore using the input confirmation method is still advised to get “ርኣ” on this case and all other vowel state issues.
The changes have been brought about after a close and thorough analysis of the above-stated issues, and mainly due to the significantly lower frequency of occurrence of the letters ቍ, ቝ, ኵ, ዅ, ጕ, and ኍ in actual words compared to that of ቅ, ቕ, ክ, ኽ, ግ, ህ followed by ው as observed in actual words of the languages Tigrigna and Geez mainly, hence the priority of straight foreword key combination is given to the latter.

PS. The Input confirmation method is not the only way to go around the stated problems, for example, putting a space between ‘k’ and ‘w’ and then backspacing will give “ክው” and typing እ(A) can also solve the vowel state issue i.e. “arAaya” will give “ኣርኣያ”. However such solutions can not solve all cases or simply are inefficient and take more keystrokes to perform. The input confirmation method is efficient and guaranteed to work in all cases.
GeezIME 1.0 2012 will be made available for free download soon, and a link will be posted here in this blog. If you have any suggestions including any features you would like to see in the coming versions of GeezIME you are welcome. Please leave comments here or email them to info@geezlab.com.

No comments:

Post a Comment