Home -->  IITM Software -->  Input State Machine
Multilingual Software Library
Input state machine for data entry

  The data entry module used in the IITM software generates codes for syllables by combining the keystrokes. Successive keystrokes are monitored and the syllable typed in upto the last keystroke is returned. The syllable ends when a vowel is entered after a consonant. The module takes care of the entry of special characters, numerals and other symbols properly. In all cases, the input state machine produces a single 16 bit code for each syllable entered. The syllable could be any one of the defined syllables defined by the superset of aksharas. Please refer to the coding scheme for details on the set of permissible syllables.

  The state machine approach is different from the one taken by Unicode where each keystroke generates an independent code value and it is the responsibility of the application to identify a syllable.. The IITM approach is easier to deal with since the application is not required to do so because each code dealt with by the application is already a syllable. Hence the application can use a language and font independent text API to output text and so dynamic selection of the script used for display is automatically supported.

  As discussed in the section on the Encoding Scheme, syllable formation is restricted to a limited set of syllables which may have at the most three consonants. The state machine will stop syllable formation after the third consonant and start a new syllable. The figure below illustrates the implementation of the state machine. It should be remembered that the actual code written for the state machine may differ somewhat.

  In the above diagram, each keystroke will result in some action specified by the smaller circles.  When data entry starts, the system will be in a state to form a new syllable. once a consonant is entered, it will move to the partially formed syllable state and remain there till the syllable is completed. Please note that the state machine can be language dependent to permit only those vowels, consonants and conjuncts to be entered which are defined for the language.

Enhancing the state machine to handle more syllables.

  It is possible to retain the basic logic of the state machine module to accommodate more syllables, specifically those which may have four or more consonants. The Open Source effort has actually done this by increasing the number of bits for the conjunct part from 5 to 6 thus allowing each base consonant to have upto 63 Samyuktakshars. 



Acharya Logo
Swan and her cygnets. A happy scene.

Image source
Reproduced with permission from the author John Robinson

Today is Jul. 18, 2019
Local Time: 06 49 22

| Home | Design issues | Online Resources | Learn Sanskrit | Writing Systems | Fonts |
| Downloads | Unicode, ISCII | SW for the Disabled | Linguistics | Contact us |
Last updated on 11/07/12    Best viewed at 800x600 or better