Bharati Input Method based on InScript layout for 11 Indic Languages


Bharati is an input method originally designed for Marathi. It works with IBUS, SCIM as well as M17N. The input method scheme is inscript based (one-to-one mapping) and implements a unique transformation rule of deleting on the fly the previous matra/dependent-vowel (would be explained shortly). Currently, bharati layout is available in 10 other Indic languages.

Indic languages covered:

Before explaining how bharati is different from other inscript based layouts, let me explain some of the characteristics of inscript layout. In Inscript layout, the keystrokes correspond to dependent vowels, consonants, independent vowels, digits and various other signs, all of which have been assigned specific Unicode values.

When text is prepared through data entry, the user should be provided with an intelligent interface to generate desired text from the keystrokes.
Bharati attempts to bring intelligence to existing upstream Indic inscript layouts.

Comparison of upstream Indic inscript *.mim and bharati *.mim:

Now, I will explain how does the unique transformation rule of deleting on the fly the previous matra/dependent-vowel work.

In bharati, following transformation rule is implemented:
(consonant) + (dependent-vowel-1) + (dependent-vowel-2) == (consonant) + (dependent-vowel-2)

Example (devanagari script):
input sequence: क + ा + ि + ी + ु + ू + े + ै + ो + ौ

mr-inscript.mim: कािीुूेैोौ
mr-bharati.mim: कौ

i.e. Previous matra/dependent-vowel sign is deleted on the fly.

Benefits of bharati *.mim over Indic inscript *.mim:

(consonant) + [ (dependent-vowel-1) * n ] == (consonant) + (dependent-vowel-1)

Example (devanagari script):
input sequence: क+ ि+ ि+ ि+ ि+ ि+ ि+ ि+ ि+ ि+ ि

mr-inscript.mim: किििििििििि
mr-bharati.mim: कि

i.e. Number of matra/dependent-vowel after consonant is restricted to one.

कििुीमिोौोैॉोििििििििि

Download:

You can download the .mim files from here. Icons for each language are also provided. You can see .mim files for Hindi, Marathi, Assamese, Bengali, Punjabi, Gujarati, Oriya, Tamil, Telugu, Kannada and Malayalam.

Note: source files for above languages are generated from Marathi mapping file using a Python script.

If you are interested in testing and/or correcting the maps for your language, please proceed ahead with "Installation" and/or "Correction of maps".

Installation:

Download the tar ball containing all the .mim files and icons from here. Extract it and run 'make install' with root user.

Note: Before moving ahead with the installation, you need to install ibus-m17n or scim-m17n package.

Now, if using iBus,

right click on ibus icon and select "Restart" to restart iBus. Whereas, if using scim, restarting X is required to restart scim.

Adding bharati layout:

If using iBus:

If using scim:

Correction of maps:

Open the .mim file for your language using any text editor. If known pattern is not found in .mim file just add the missing line(s) as per the “lisp” syntax.

Once you are done, install it by just copying it to /usr/share/m17n directory.

Note: If using ibus, right click on ibus icon and select "Restart" to restart iBus. Whereas, if using scim, restarting X is required to restart scim.

Communicate:

License:

bharati is licensed under GNU General Public License version 3 or later.

Author:

Sandeep Sheshrao Shedmake sandeeps@fedoraproject.org


project Home Page: https://fedorahosted.org/bharati/wiki