Personal website + blog of Ambarish Sridharanarayanan.
As we saw in the last couple of posts, keying in Indian languages using a QWERTY keyboard requires a keyboard/IME software as well as a standardised way to map the Latin alphabet to the characters in the Indian language du jour. To recap, I use Googleʼs Input Tools on Windows and Lipika on OS X. Unlike a representation format (which can use diacritic or other accent marks), a key‐map can only employ the characters inputtable through the QWERTY keyboard. So while I use ISO‐15919 as the representation format, I needed a key‐map as well. As in the previous post, here were my requirements:
With these requirements, I set about to create a key‐map I could use. Iʼd start with my requirements, and in the end, if the key‐map ended up resembling an existing “standard”, Iʼd just stick with that instead.
I started out by identifying characters in Tamil and Sanskrit (the 2 Indian languages I write in) based on phonetics and history; this identification process is important for pan‐linguistic consistency.
Vowels and Dependents
| Sanskrit (Devanagari) | ISO‐15919 | Tamil | Key‐map |
|---|---|---|---|
| अ | a | அ | |
| आ | ā | ஆ | |
| इ | i | இ | |
| ई | ī | ஈ | |
| उ | u | உ | |
| ऊ | ū | ஊ | |
| ऋ | r̥ | ||
| ॠ | r̥̄ | ||
| ऌ | l̥ | ||
| ॡ | l̥̄ | ||
| e | எ | ||
| ए | ē | ஏ | |
| ऐ | ai | ||
| o | ஒ | ||
| ओ | ō | ஓ | |
| औ | au | ||
| ं | ṁ | ||
| ँ | m̐ | ||
| ः | ḥ | ||
| ᳶ | ḫ | ||
| ᳵ | ẖ | ||
| ḵ | ஃ | ||
| ऽ | ’ |
Consonants
| Sanskrit (Devanagari) | ISO‐15919 1 | Tamil | Key‐map |
|---|---|---|---|
| क् | k | க் | |
| ख् | kh | ||
| ग् | g | ||
| घ् | gh | ||
| ङ् | ṅ | ங் | |
| च् | c | ச் | |
| छ् | ch | ||
| ज् | j | ||
| झ् | jh | ||
| ञ् | ñ | ஞ் | |
| ट् | ṭ | ட் | |
| ठ् | ṭh | ||
| ड् | ḍ | ||
| ढ् | ḍh | ||
| ण् | ṇ | ண் | |
| t ̱ | ற் | ||
| ṉ | ன் | ||
| त् | t | த் | |
| थ् | th | ||
| द् | d | ||
| ध् | dh | ||
| न् | n | ந் | |
| प् | p | ப் | |
| फ् | ph | ||
| ब् | b | ||
| भ् | bh | ||
| म् | m | ம் | |
| य् | y | ய் | |
| र् | r | ர் | |
| r ̣ | ழ் | ||
| ळ् | ḷ | ள் | |
| ḻ | ல் | ||
| ल् | l | ||
| व् | v | வ் | |
| श् | ś | ||
| ष् | ṣ | ||
| स् | s | ||
| ह् | h |
The next step was filling in the key‐combinations that were “natural” and “obvious”.
| Sanskrit (Devanagari) | ISO‐15919 | Tamil | Key‐map |
|---|---|---|---|
| अ | a | அ | a |
| आ | ā | ஆ | A |
| इ | i | இ | i |
| ई | ī | ஈ | I |
| उ | u | உ | u |
| ऊ | ū | ஊ | U |
| ऋ | r̥ | ||
| ॠ | r̥̄ | ||
| ऌ | l̥ | ||
| ॡ | l̥̄ | ||
| e | எ | e | |
| ए | ē | ஏ | E |
| ऐ | ai | ai | |
| o | ஒ | o | |
| ओ | ō | ஓ | O |
| औ | au | au | |
| ं | ṁ | ||
| ँ | m̐ | ||
| ः | ḥ | ||
| ᳶ | ḫ | ||
| ᳵ | ẖ | ||
| ḵ | ஃ | ||
| ऽ | ’ | ||
| क् | k | க் | k |
| ख् | kh | kh | |
| ग् | g | g | |
| घ् | gh | gh | |
| ङ् | ṅ | ங் | |
| च् | c | ச் | c |
| छ् | ch | ch | |
| ज् | j | j | |
| झ् | jh | jh | |
| ञ् | ñ | ஞ் | |
| ट् | ṭ | ட் | T |
| ठ् | ṭh | Th | |
| ड् | ḍ | D | |
| ढ् | ḍh | Dh | |
| ण् | ṇ | ண் | N |
| t ̱ | ற் | ||
| ṉ | ன் | ||
| त् | t | த் | t |
| थ् | th | th | |
| द् | d | d | |
| ध् | dh | dh | |
| न् | n | ந் | n |
| प् | p | ப் | p |
| फ् | ph | ph | |
| ब् | b | b | |
| भ् | bh | bh | |
| म् | m | ம் | m |
| य् | y | ய் | y |
| र् | r | ர் | r |
| r ̣ | ழ் | ||
| ळ् | ḷ | ள் | L |
| ḻ | ல் | ||
| ल् | l | l | |
| व् | v | வ் | v |
| श् | ś | ||
| ष् | ṣ | S | |
| स् | s | s | |
| ह् | h | h |
Six categories of phonemes remain: Dravidian alveolar consonants, the Dravidian approximant, Sanskrit nasals, Sanskrit sibilants, Sanskrit syllabic vowels, and miscellaneous rarely‐used dependents.
ல்.z as the key for the approximant ழ். The fact that non‐native speakers mispronounce the approximant as a voiced sibilant adds credibility to this choice :-)ङ्, ञ् and one remaining sibilant: श्. The palatal nasal is both a palatal stop and a nasal; a natural representation combines the nasality of n with the palatalness of j or c; we thus get nj and nc as possible key‐combinations. By correspondence, the palatal sibilant श् is sc or sj, and the velar nasal ङ् nk or ng.Looks like the consonants are done! Here they are:
Consonants
| Sanskrit (Devanagari) | ISO‐15919 | Tamil | Key‐map |
|---|---|---|---|
| क् | k | க் | k |
| ख् | kh | kh | |
| ग् | g | g | |
| घ् | gh | gh | |
| ङ् | ṅ | ங் | nk/ng |
| च् | c | ச் | c |
| छ् | ch | ch | |
| ज् | j | j | |
| झ् | jh | jh | |
| ञ् | ñ | ஞ் | nc/nj |
| ट् | ṭ | ட் | T |
| ठ् | ṭh | Th | |
| ड् | ḍ | D | |
| ढ् | ḍh | Dh | |
| ण् | ṇ | ண் | N |
| t ̱ | ற் | tT/Tt | |
| ṉ | ன் | nN/Nn | |
| त् | t | த் | t |
| थ् | th | th | |
| द् | d | d | |
| ध् | dh | dh | |
| न् | n | ந் | n |
| प् | p | ப் | p |
| फ् | ph | ph | |
| ब् | b | b | |
| भ् | bh | bh | |
| म् | m | ம் | m |
| य् | y | ய் | y |
| र् | r | ர் | r |
| r ̣ | ழ் | z | |
| ळ् | ḷ | ள் | L |
| ḻ | ல் | lL/Ll | |
| ल् | l | l | |
| व् | v | வ் | v |
| श् | ś | sc/sj | |
| ष् | ṣ | S | |
| स् | s | s | |
| ह् | h | h |
ऋ, ॠ, ऌ, ॡ – the last one not actually used) present a problem. The mid‐central vowel inherent in these is absent in European languages and thus lacks a symbol; it can however be described as mid‐way between y and w. y is already used up in our scheme, but w is free! Using w also ensures people donʼt mispronounce it as a front‐vowel. We thus get rw, Rw, lw and Lw respectively.M, and the anunāsika by MM; we can stick with those. The visarga, likewise is an H. The upadhmānīya is closest to the Latin f, and we can use that. The jihvāmūlīya and the āythayeṛuttu are both velar/glottal and as such K is the most suitable.We finally have a complete key‐map for vowels and dependents! Here it is:
Vowels and Dependents
| Sanskrit (Devanagari) | ISO‐15919 | Tamil | Key‐map |
|---|---|---|---|
| अ | a | அ | a |
| आ | ā | ஆ | A |
| इ | i | இ | i |
| ई | ī | ஈ | I |
| उ | u | உ | u |
| ऊ | ū | ஊ | U |
| ऋ | r̥ | rw | |
| ॠ | r̥̄ | Rw | |
| ऌ | l̥ | lw | |
| ॡ | l̥̄ | Lw | |
| e | எ | e | |
| ए | ē | ஏ | E |
| ऐ | ai | ai | |
| o | ஒ | o | |
| ओ | ō | ஓ | O |
| औ | au | au | |
| ं | ṁ | M | |
| ँ | m̐ | MM | |
| ः | ḥ | H | |
| ᳶ | ḫ | f | |
| ᳵ | ẖ | K | |
| ḵ | ஃ | K | |
| ऽ | ’ | ’ |
You can download the Tamil and Sanskrit keymap for use in Googleʼs IME from https://github.com/deepestblue/GoogleIME_keymap.
Unfortunately, ISO‐15919 does not distinguish between alveolar and dental liquids; Tamil has only the former, while Sanskrit only the latter. As such, Iʼve had to make a few minor modifications to ISO‐15919, where ற and ல are concerned. Thanks to Greg for pointing this out through a blog comment. ↩