Nepali input method variants for ibus-m17n.
| System | supporting ibus |
| Dependencies | ibus, m17n-db |
# make installrestart the ibus for changes to appear.
$ ibus restartWe provived some of the layout not offered by the m17n-db. m17n provides the handy way to add, layout see tutorial.
| Layout | Description |
|---|---|
| lipi | lipi (लिपि) is designed for programmer/localizers |
| rom-imp | improvement with 99% backward compatibility |
- Few frequently used symbol (i.e. “~!@#$%^&*(){}<>”) unavailable in romanized layout, resulting in constant switching, which is major headache for programmers and localizers.
- Vanilla Romanized doesn’t do ovious corrections.
- Romanized layout was designed for fixed layout, where composite entries were not possible
| Layout | Control Char | phonetic | visual | vowel | remap |
|---|---|---|---|---|---|
| lipi | 2 | 14 | 5 | 8 | 10 |
| rom-imp | 2 | 14 | 5 | 8 | 0 |
Use escape sequence backward slash (\) for accessing default
mapping. The all other mapping for the backward slash \ has
revoked in all layouts. e.g. for typing / use \/.
Most of us never knew the secret of typing “न्न” since you always got “न्न”. Problem was special character Zero Width Joiner (ZWJ), which was invisible cumbersome to find!
NOTE: If you see no different between “न्न” and “न्न” your have a smart renderer.
| # | Sequence | Tokens | Result |
|---|---|---|---|
| 1 | / | ् | ् |
| 2 | // | ् + ् | ् + ZWJ |
| 3 | /// | ् + ् + ् | ् + ZNWJ |
Most of the people have hard time remembering the sequence for special characters, here we provide phonetic/trasliterative completions. And wait, old method still works and there few more too!
NOTE: If you see no different between “त्र” and “त्र” or “श्र” and “श्र” your have a some problem in your renderer.
| # | Symbol | in Romanized | Alternatives |
|---|---|---|---|
| 1 | इ | key: ‘[’ | sequence: ‘ie’ |
| 2 | ई | key: ‘{’ | sequence: ‘iee’ |
| 3 | त्र | sequence: ‘t/r’ | sequence: ‘traa’ |
| 4 | क्ष | sequence: ‘k/z’ | sequence: ‘chyaa’ |
| 5 | ज्ञ | sequence: ‘j/Y’ | sequence: ‘gyaa’, ‘jyaa’ |
| 6 | श्र | sequence: ‘t/r’ | sequence: ‘shree’ |
| 7 | द्य | sequence: ‘d/y’ | sequence: dhyaa |
| 8 | ङ | key: ‘<’ | sequence: naa |
| 9 | ळ | key: ‘L’ | sequence: ‘lll’ |
| 10 | ॐ | key: ‘' | sequence: ‘oom’ |
| 11 | ऋ | key: ‘Z’ | sequence: ‘rii’ |
| 12 | ॠ | None | sequence: ‘riii’ |
| 13 | ऌ | None | sequence: ‘lree’ |
| 14 | ॡ | None | sequence: ‘lreee’ |
While writing by hand, each glyph is seen separately but ironically each section is character on its own, combined to create a new character.
for example:
आ ≠ अा (अ + ा)
ओ ≠ अो (अ + ो)
ऐ ≠ एे (ए + े)
But, in computers characters is represented by code, which is infact different even though they looks same/similar. This is why spell checker flags them, now its all right to make those mistakes. No more hunt and peak for आ, ओ, औ, ऐ.
| # | Symbol | Sequence |
|---|---|---|
| 1 | आ | अ + ा |
| 2 | ओ | अ + े |
| अ + ो | ||
| अ + ा + ो | ||
| 3 | औ | अ + ौ |
| अ + ो + े | ||
| अ + े + ो | ||
| अ + ा + ै | ||
| अ + ा + े + े | ||
| 4 | ऐ | ए + े |
| 5 | ॐ | ऊ + ँ + ँ |
Semivowel(diacritic) in sequence of 2 will create the independent vowel form.
| # | Character | Sequence |
|---|---|---|
| 1 | आ | ा + ा |
| 2 | इ | ि + ि |
| 3 | ई | ी + ी |
| 4 | उ | ु + ु |
| 5 | ऊ | ू + ू |
| 6 | ए | े + े |
| 7 | ऐ | ै + ै |
| 8 | ओ | ो + ो |
| 9 | औ | ौ + ौ |
Independent vowel followed by semivowel.
| # | Character | Sequence |
|---|---|---|
| 1 | आ | अ + ा |
| 2 | ई | इ + ि |
| इ + ी | ||
| 3 | ऊ | उ + ु |
| उ + ू | ||
| 4 | ऐ | ए + े |
| ए + ै | ||
| 5 | औ | ओ + ो |
| ओ + ौ |
| # | Symbol | Sequence |
|---|---|---|
| 1 | ओ | अ + े |
| 2 | औ | अ + ै |
| 3 | ङ | ड + ं + ं |
| 4 | ँ | ं + ं |
We have remapped some of the symbols specially in lipi layout.
NOTE: This section is not applied for all layouts.
| # | Symbol | in Romanized | ||||
|---|---|---|---|---|---|---|
| key | visual | vowel | phonetic | |||
| 1 | उ | f | Y | ु + ु | ||
| 2 | ऊ | F | ू + ू | |||
| 3 | इ | [ | f | ि + ि | ie | |
| 4 | ई | { | F | ी + ी | iee | |
| 5 | ए | ] | z | े + े | ||
| 6 | ऐ | } | ए + े | ै + ै | ||
| 7 | ऋ | Z | rii | |||
| 8 | ङ | < | ड + ं + ं | naa | ||
| 9 | ष | z | Z | |||
| 10 | ॐ | \ | ऊ + ँ + ँ | oom |
Since ibus runs setxkbmap in background, which alternative
layout, is reset to us (qwerty).
as they say:
Go Away Or I Will Replace You With A Very Small Shell Script
for now it only works for dvorak layout, see hijack.sh script to
change to other layout. Here is back story of endeavor.
# make hijack