MediaWiki:Common.js: Difference between revisions
From SMC Wiki
No edit summary |
No edit summary |
||
Line 1: | Line 1: | ||
/* Any JavaScript here will be loaded for all users on every page load. */ | /* Any JavaScript here will be loaded for all users on every page load. */ | ||
/*HERE STARTS THE WORKING-CODE OF "METABOXES"*/ | /*HERE STARTS THE WORKING-CODE OF "METABOXES"*/ | ||
Line 67: | Line 66: | ||
/*HERE FINISHES THE WORKING-CODE OF "METABOXES"*/ | /*HERE FINISHES THE WORKING-CODE OF "METABOXES"*/ | ||
/*<----------------------------3in1.js Code Starts Here------------------------------------------>*/ | |||
/* | |||
* Implementation of Malayalam Inscript,Mozhi,and Swanlekha Schemes in Javascript. | |||
* Copyright 2010, Hrishikesh K B <hrishi.kb@gmail.com> | |||
* | |||
* Based on the swanalekha javascript code by Santhosh Thottingal and Nishan Naseer. | |||
* and the Mozhi javascript code by Peringz | |||
* | |||
* This program is free software; you can redistribute it and/or modify | |||
* it under the terms of the GNU Lesser General Public License as published by | |||
* the Free Software Foundation; either version 3 of the License, or | |||
* (at your option) any later version. | |||
* | |||
* This program is distributed in the hope that it will be useful, | |||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
* GNU Lesser General Public License for more details. | |||
* | |||
* You should have received a copy of the GNU General Public License | |||
* along with this program; if not, write to the Free Software | |||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |||
* | |||
* If you find any bugs or have any suggestions email: hrishi.kb@gmail.com | |||
*/ | |||
var pattern=null; | var pattern=null; | ||
var tabCount=1; | var tabCount=1; | ||
function | |||
function bindAllinone(widget){ | |||
if(widget.aBound){ | if(widget.aBound){ | ||
Line 78: | Line 104: | ||
} | } | ||
var A={ | |||
a:'അ', | //===========================================================Mozhi======================================================================================== | ||
a2:'ആ', | |||
a3:'എ', | /* | ||
aa:'ആ', | This script is a modified version of Alex benenson's cyrillic translitarator and this version was created by [[User:Peringz|Peringz]] | ||
A2:'ആ', | */ | ||
A3:'എ', | |||
i:'ഇ', | var consonants = {"ക":"ക","ഖ":"ഖ","ഗ":"ഗ","ഘ":"ഘ","ങ":"ങ","ച":"ച","ഛ":"ഛ","ജ":"ജ","ഝ":"ഝ","ഞ":"ഞ","ട":"ട","ഠ":"ഠ","ഡ":"ഡ","ഢ":"ഢ","ണ":"ണ","ത":"ത","ഥ":"ഥ","ദ":"ദ","ധ":"ധ","ന":"ന","പ":"പ","ഫ":"ഫ","ബ":"ബ","ഭ":"ഭ","മ":"മ","യ":"യ","ര":"ര","ല":"ല","വ":"വ","ശ":"ശ","ഷ":"ഷ","സ":"സ","ഹ":"ഹ","ള":"ള","ഴ":"ഴ","റ":"റ","റ്റ":"റ്റ"}; | ||
i2:'ഈ', | var chillaksharam = {"ണ്":"ണ","ന്":"ന","ം":"മ","ര്":"ര","ല്":"ല","ള്":"ള","്\\u200D":""}; | ||
i3:'ഐ', | |||
ii:'ഈ', | var vowels = '"്a":"","്e":"െ","്i":"ി","്o":"ൊ","്u":"ു","്A":"ാ","്E":"േ","്I":"ീ","്O":"ോ","്U":"ൂ","്Y":"ൈ","െe":"ീ","ൊo":"ൂ","ിi":"ീ","ിe":"ീ","ുu":"ൂ","ുo":"ൂ","്r":"്ര്",'; | ||
I:'ഈ', | var roman = '"k":"ക്","ക്h":"ഖ്","g":"ഗ്","ഗ്h":"ഘ്","ന്g":"ങ്","c":"ക്\\u200D","ക്\\u200Dh":"ച്","ച്h":"ഛ്","j":"ജ്","ജ്h":"ഝ്","ന്j":"ഞ്","ന്h":"ഞ്","T":"ട്","ട്h":"ഠ്","D":"ഡ്","ഡ്h":"ഢ്","റ്റ്h":"ത്","ത്h":"ഥ്","d":"ദ്","ദ്h":"ധ്","p":"പ്","പ്h":"ഫ്","f":"ഫ്","b":"ബ്","ബ്h":"ഭ്","y":"യ്","v":"വ്","w":"വ്","z":"ശ്","S":"ശ്","സ്h":"ഷ്","s":"സ്","h":"ഹ്","ശ്h":"ഴ്","x":"ക്ഷ്","R":"റ്","t":"റ്റ്",'; | ||
I2:'ഐ', | var chill = '"N":"ണ്","n":"ന്","m":"ം","r":"ര്","l":"ല്","L":"ള്",'; | ||
ee:'ഈ', | var swaram = '"a":"അ","അa":"ആ","A":"ആ","e":"എ","E":"ഏ","എe":"ഈ","i":"ഇ","ഇi":"ഈ","ഇe":"ഈ","അi":"ഐ","I":"ഐ","o":"ഒ","ഒo":"ഊ","O":"ഓ","അu":"ഔ","ഒu":"ഔ","u":"ഉ","ഉu":"ഊ","U":"ഊ","H":"ഃ","റ്h":"ഋ","ര്^":"ഋ","ഋ^":"ൠ","ല്^":"ഌ","ഌ^":"ൡ",'; | ||
ee2:'ഏ', | var numerals = '"1":"൧","2":"൨","3":"൩","4":"൪","5":"൫","6":"൬","7":"൭","8":"൮","9":"൯","0":"൦",'; | ||
u:'ഉ', | var conjuncts = '"ന്t":"ന്റ്","ന്റ്h":"ന്ത്","ന്k":"ങ്ക്","ന്n":"ന്ന്","ണ്N":"ണ്ണ്","ള്L":"ള്ള്","ല്l":"ല്ല്","ംm":"മ്മ്","ന്m":"ന്മ്","ന്ന്g":"ങ്ങ്","ന്d":"ന്ദ്","ണ്m":"ണ്മ്","ല്p":"ല്പ്","ംp":"മ്പ്","റ്റ്t":"ട്ട്","ന്T":"ണ്ട്","ണ്T":"ണ്ട്","്ര്^":"ൃ","ന്c":"ന്\\u200D","ന്\\u200Dh":"ഞ്ച്","ണ്D":"ണ്ഡ്",'; | ||
u2:'ഊ', | var others = '"്L":"്ല്","~":"്\\u200C","്~":"്\\u200C","\\u200C~":"\\u200C","ം~":"മ്","ക്\\u200Dc":"ക്ക്\\u200D","ക്ക്\\u200Dh":"ച്ച്","q":"ക്യൂ",'; | ||
u3:'യു', | var caps = '"B":"ബ്ബ്","C":"ക്ക്\\u200D","F":"ഫ്","G":"ഗ്ഗ്","J":"ജ്ജ്","K":"ക്ക്","M":"മ്മ്","P":"പ്പ്","Q":"ക്യൂ","V":"വ്വ്","W":"വ്വ്","X":"ക്ഷ്","Y":"യ്യ്","Z":"ശ്ശ്",'; | ||
uu:'ഊ', | var ZWNJ = '"_":"\\u200C"'; | ||
oo:'ഊ', | |||
U:'ഊ', | // for compatibility with bookmarklets | ||
RR:'ഋ', | function cyr_translit(src) { | ||
rr:'ഋ', | return to_cyrillic(src); | ||
e:'എ', | } | ||
e2:'ഇ', | |||
E:'ഏ', | var conversionHash = undefined; | ||
E2:'ഇ', | var maxcyrlength = 0; | ||
ae:'ഏ', | |||
ai:'ഐ', | function getConversionHash() { | ||
ei:'ഐ', | if (conversionHash == undefined) { | ||
o:'ഒ', | // TODO | ||
O:'ഓ', | var opr = "{" + vowels + roman + chill + swaram + numerals + conjuncts + caps + others; | ||
au:'ഔ', | for (var consonant in consonants) { | ||
ou:'ഔ', | opr += '"' + consonant + 'a":"' + consonant + 'ാ",'; | ||
aH:'അഃ', | opr += '"' + consonant + 'e":"' + consonant + 'േ",'; | ||
'~':'\u200C', | opr += '"' + consonant + 'i":"' + consonant + 'ൈ",'; | ||
'_':'\u200C', | opr += '"' + consonant + 'o":"' + consonant + 'ോ",'; | ||
'^':'്', | opr += '"' + consonant + 'u":"' + consonant + 'ൗ",'; | ||
'@':'@', | } | ||
'@a':'@a', | |||
'@0':'൦', | for (var chk in chillaksharam) { | ||
'@1':'൧', | opr += '"' + chk + 'a":"' + chillaksharam[chk] + '",'; | ||
'@2':'൨', | opr += '"' + chk + 'e":"' + chillaksharam[chk] + 'െ",'; | ||
'@3':'൩', | opr += '"' + chk + 'i":"' + chillaksharam[chk] + 'ി",'; | ||
'@4':'൪', | opr += '"' + chk + 'o":"' + chillaksharam[chk] + 'ൊ",'; | ||
'@5':'൫', | opr += '"' + chk + 'u":"' + chillaksharam[chk] + 'ു",'; | ||
'@6':'൬', | opr += '"' + chk + 'A":"' + chillaksharam[chk] + 'ാ",'; | ||
'@7':'൭', | opr += '"' + chk + 'E":"' + chillaksharam[chk] + 'േ",'; | ||
'@8':'൮', | opr += '"' + chk + 'I":"' + chillaksharam[chk] + 'ീ",'; | ||
'@9':'൯', | opr += '"' + chk + 'O":"' + chillaksharam[chk] + 'ോ",'; | ||
'@aa':'ാ', | opr += '"' + chk + 'U":"' + chillaksharam[chk] + 'ൂ",'; | ||
'@A':'ാ', | opr += '"' + chk + 'Y":"' + chillaksharam[chk] + 'ൈ",'; | ||
'@i':'ി', | opr += '"' + chk + 'r":"' + chillaksharam[chk] + '്ര്",'; | ||
'@ii':'ീ', | opr += '"' + chk + 'y":"' + chillaksharam[chk] + '്യ്",'; | ||
'@I':'ീ', | opr += '"' + chk + 'v":"' + chillaksharam[chk] + '്വ്",'; | ||
'@ee':'ീ', | opr += '"' + chk + 'w":"' + chillaksharam[chk] + '്വ്",'; | ||
'@u':'ു', | opr += '"' + chk + '~":"' + chillaksharam[chk] + '്\\u200C",'; | ||
'@uu':'ൂ', | } | ||
'@U':'ൂ', | |||
'@oo':'ൂ', | opr += ZWNJ + "}"; | ||
'@R':'ൃ', | // var tb = document.getElementById('wpTextbox1'); | ||
'@e':'െ', | // tb.value = opr; | ||
'@E':'േ', | conversionHash = eval("("+opr+")"); | ||
'@ae':'േ', | maxcyrlength=6; | ||
'@o':'ൊ', | } | ||
'@O':'ോ', | |||
'@ai':'ൈ', | return conversionHash; | ||
'@ei':'ൈ', | } | ||
'@ou':'ൌ', | |||
'@ou2':'ൗ', | function to_cyrillic(src, output, chunks) { | ||
'@au':'ൌ', | if (src == undefined || src == "" || src == null) | ||
'@au2':'ൗ', | return src; | ||
k:'ക്', | if (output == undefined) | ||
k2:'കു്', | output = new String(); | ||
k3:'ക്\u200D', | |||
'k~':'ക്\u200D', | var hash = getConversionHash(); | ||
'k_':'ക്\u200D', | |||
'c~':'ക്\u200D', | var location = 0; | ||
'c_':'ക്\u200D', | |||
c:'ക്', | while (location < src.length) { | ||
c2:'കു്', | var len = Math.min(maxcyrlength, src.length - location); | ||
k3:'ക്\u200D', | var arr = undefined; | ||
k4:'ക്ക്', | var sub; | ||
k5:'ക്കു്', | while (len > 0) { | ||
k6:'കെ', | sub = src.substr(location, len); | ||
ck:'ക്ക്', | arr = hash[sub]; | ||
ka:'ക', | if (arr != undefined) | ||
ca:'ക', | break; | ||
ca2:'കാ', | else | ||
ca3:'കേ', | len--; | ||
ka2:'ഗ', | } | ||
ka3:'ഖ', | |||
ka4:'ഘ', | // need this for translit on the fly | ||
kaa:'കാ', | if (chunks != undefined) | ||
kaa2:'ഗാ', | chunks[chunks.length] = sub; | ||
caa:'കാ', | |||
kA:'കാ', | if (arr == undefined) { | ||
cA:'കാ', | output += sub; | ||
ki:'കി', | location ++; | ||
ki2:'ഗി', | } | ||
ki2:'ഘി', | else { | ||
ki3:'ഖി', | |||
ki4:'കൈ', | // case analysis | ||
ci:'കി', | var newChar = arr; | ||
ci2:'സി', | |||
ci3:'സൈ', | if (sub.toLowerCase() == sub.toUpperCase() && arr.length > 1 && arr[1] && (newChar.toUpperCase() != newChar.toLowerCase())) { | ||
kii:'കീ', | |||
kee:'കീ', | // need translit hash to determine if previous character (and possibly the one before it) | ||
cee:'കീ', | // were converted and are in upper case | ||
kI:'കീ', | |||
cI:'കീ', | // set prevDud to true previous is not a translated character or simply a blank | ||
ku:'കു', | // set prevCap to true if previous was translated and was upper case | ||
ku2:'കൂ', | |||
cu:'കു', | var prevCh = output.length == 0 ? null : output.substr(output.length - 1, 1); | ||
kuu:'കൂ', | var prevDud = !prevCh || !getTranslitString(prevCh); | ||
cuu:'കൂ', | var prevCap = (!prevDud && prevCh == prevCh.toUpperCase()); | ||
coo:'കൂ', | |||
koo:'കൂ', | // sub is caseless but result isn't. case will depend on lookbehind and lookahead | ||
koo2:'കോ', | if (prevDud || !prevCap) { | ||
kU:'കൂ', | output += newChar.toLowerCase(); | ||
cU:'കൂ', | prevCap = false; | ||
kR:'കൃ', | } | ||
cR:'കൃ', | else { | ||
ke:'കെ', | var next = " "; | ||
ce:'കെ', | if (location + len < src.length) | ||
ce:'സ്', | next = src.substr(location + len, 1); | ||
kE:'കേ', | |||
cE:'കേ', | if (next != next.toUpperCase() && next == next.toLowerCase() ) { | ||
kae:'കേ', | //next is lowercase (and not caseless) | ||
cae:'കേ', | output += newChar.toLowerCase(); | ||
kai:'കൈ', | } | ||
cai:'കൈ', | else if (next == next.toUpperCase() && next != next.toLowerCase() ) { | ||
kai2:'കയ്', | // next is uppercase (and not caseless) | ||
kei:'കൈ', | output += newChar.toUpperCase(); | ||
cei:'കൈ', | } | ||
kei:'കെയ്', | else { | ||
ko:'കൊ', | // next is caseless. output case determined by the case of output[length - 2] | ||
co:'കൊ', | var pprevCh = output.length == 1 ? null : output.substr(output.length - 2, 1); | ||
kO:'കോ', | var pprevDud = !pprevCh || !getTranslitString(pprevCh); | ||
cO:'കോ', | if (!pprevDud && (pprevCh == pprevCh.toUpperCase())) { | ||
kau:'കൌ', | //pre-prev is in upper case. output is also uppercase | ||
cau:'കൌ', | output += newChar.toUpperCase(); | ||
kou:'കൌ', | } | ||
cou:'കൌ', | else { | ||
kaM:'കം', | output += newChar.toLowerCase(); | ||
kaH:'കഃ', | } | ||
kh:'ഖ്', | |||
kh2:'ഖു്', | } | ||
kh:'ഘ്', | } | ||
kh:'ഘു്', | |||
kha:'ഖ', | } | ||
kha2:'ക്ക', | else if ((sub.toLowerCase() == sub.toUpperCase()) && (arr.length < 2 || !arr[1])) { | ||
kha3:'ഘ', | |||
khaa:'ഖാ', | // literal treatment of newChar | ||
khA:'ഖാ', | output += newChar; | ||
khi:'ഖി', | |||
khi2:'ക്കി', | } | ||
khii:'ഖീ', | else if (sub != sub.toLowerCase()) { | ||
khee:'ഖീ', | |||
khI:'ഖീ', | // sub not all-lowercase | ||
khu:'ഖു', | output += newChar.toUpperCase(); | ||
khu2:'ഘു', | } | ||
khuu:'ഖൂ', | else { | ||
khoo:'ഖൂ', | |||
khU:'ഖൂ', | |||
khR:'ഖൃ', | |||
khe:'ഖെ', | // sub is lowercase | ||
khE:'ഖേ', | output += newChar.toLowerCase(); | ||
khae:'ഖേ', | } | ||
khai:'ഖൈ', | location += len; | ||
khei:'ഖൈ', | } | ||
kho:'ഖൊ', | } | ||
khO:'ഖോ', | |||
khau:'ഖൌ', | return output; | ||
khou:'ഖൌ', | } | ||
khaM:'ഖം', | |||
khaH:'ഖഃ', | |||
K:'ഖ്', | |||
K2:'ഖു്', | function convertIt(src,converter){ | ||
K3:'കെ', | var resultbuffer=""; | ||
Ka:'ഖ', | for(var i=0;i<src.length;i++){ | ||
Ka2:'ക', | resultbuffer=converter(resultbuffer+src[i]); | ||
Ka3:'ക്ക', | } | ||
Kaa:'ഖാ', | return converter(resultbuffer); | ||
KA:'ഖാ', | |||
Ki:'ഖി', | } | ||
Ki2:'കി', | |||
Kii:'ഖീ', | |||
Kee:'ഖീ', | |||
Kee2:'കീ', | var translitHash = undefined; | ||
KI:'ഖ', | |||
Ku:'ഖു', | function initTranslit() { | ||
Ku2:'കു', | if (translitHash == undefined) { | ||
Kuu:'ഖൂ', | translitHash = new Array(); | ||
Kuu3:'കൂ', | |||
Koo:'ഖൂ', | for (var i = 0; i < conversionHash.length; i++) { | ||
Koo2:'കൂ', | var ch = conversionHash[i][1]; | ||
Koo3:'കോ', | // if the translit string is not caseless, convert cyr string to upper case | ||
KU:'ഖൂ', | // otherwise maintain its case | ||
KR:'ഖൃ', | if (conversionHash[i][0].toUpperCase() != conversionHash[i][0].toLowerCase()) | ||
Ke:'ഖെ', | ch = ch.toUpperCase(); | ||
Ke2:'കെ', | |||
KE:'ഖേ', | if (translitHash[ch] == undefined) | ||
Kae:'ഖേ', | translitHash[ch] = conversionHash[i][0]; | ||
Kai:'ഖൈ', | } | ||
Kei:'ഖൈ', | } | ||
Ko:'ഖൊ', | } | ||
Ko2:'കൊ', | |||
Ko3:'കോ', | |||
KO:'ഖോ', | |||
Kau:'ഖൌ', | |||
Kou:'ഖൌ', | //-- translit on-the-fly -- | ||
KaM:'ഖം', | |||
KaH:'ഖഃ', | function replaceValue(node, value, stepback) { | ||
g:'ഗ്', | if (stepback == undefined) | ||
g2:'ഗു്', | stepback = 0; | ||
g3:'ജി', | |||
ga:'ഗ', | if (isExplorer()) { | ||
ga2:'ജ', | var range = document.selection.createRange(); | ||
ga3:'ക', | range.moveStart("character", -stepback); | ||
ga4:'ഖ', | range.text = value; | ||
gaa:'ഗാ', | range.collapse(false); | ||
gA:'ഗാ', | range.select(); | ||
gi:'ഗി', | } | ||
gi2:'കി', | else { | ||
gi3:'ജി', | var scrollTop = node.scrollTop; | ||
gii:'ഗീ', | var cursorLoc = node.selectionStart; | ||
gee:'ഗീ', | node.value = node.value.substring(0, node.selectionStart - stepback) + value + | ||
gI:'ഗീ', | node.value.substring(node.selectionEnd, node.value.length); | ||
gu:'ഗു', | node.scrollTop = scrollTop; | ||
guu:'ഗൂ', | node.selectionStart = cursorLoc + value.length - stepback; | ||
goo:'ഗൂ', | node.selectionEnd = cursorLoc + value.length - stepback; | ||
goo2:'ഗോ', | } | ||
gU:'ഗൂ', | } | ||
gR:'ഗൃ', | |||
ge:'ഗെ', | |||
gE:'ഗേ', | // compare positions | ||
gae:'ഗേ', | function positionIsEqual(other) { | ||
gai:'ഗൈ', | if (isExplorer()) | ||
gei:'ഗൈ', | return this.position.isEqual(other.position); | ||
go:'ഗൊ', | else | ||
go2:'ഗോ', | return this.position == other.position; | ||
gO:'ഗോ', | |||
gau:'ഗൌ', | } | ||
gou:'ഗൌ', | |||
gaM:'ഗം', | function Position(node) { | ||
gaH:'ഗഃ', | if (node.selectionStart != undefined) | ||
gh:'ഘ്', | this.position = node.selectionStart; | ||
gh2:'ഘു്', | else if (document.selection && document.selection.createRange()) | ||
gha:'ഘ', | this.position = document.selection.createRange(); | ||
gha2:'ഖ', | |||
ghaa:'ഘാ', | this.isEqual = positionIsEqual; | ||
ghA:'ഘാ', | } | ||
ghi:'ഘി', | |||
ghii:'ഘീ', | function resetState() { | ||
ghee:'ഘീ', | this.position = new Position(this.node); | ||
ghI:'ഘീ', | this.transBuffer = ""; | ||
ghu:'ഘു', | this.cyrBuffer = ""; | ||
ghuu:'ഘൂ', | } | ||
ghoo:'ഘൂ', | |||
ghU:'ഘൂ', | function StateObject(node) { | ||
ghR:'ഘൃ', | this.node = node; | ||
ghe:'ഘെ', | this.reset = resetState; | ||
ghE:'ഘേ', | this.cyrBuffer = ""; | ||
ghae:'ഘേ', | this.transBuffer = ""; | ||
ghai:'ഘൈ', | this.position = new Position(node); | ||
ghei:'ഘൈ', | } | ||
gho:'ഘൊ', | |||
ghO:'ഘോ', | |||
ghau:'ഘൌ', | var stateHash = new Array(); | ||
ghou:'ഘൌ', | |||
ghaM:'ഘം', | function isExplorer() { | ||
ghaH:'ഘഃ', | return (document.selection != undefined && document.selection.createRange().isEqual != undefined); | ||
G:'ഘ്', | } | ||
G2:'ഘു്', | |||
G3:'ജി', | function pressedKey(event) { | ||
G4:'ഗ്ഗി', | if (isExplorer()) | ||
Ga:'ഘ', | return event.keyCode; | ||
Ga2:'ഗ', | else | ||
Ga3:'ഗ്ഗ', | return event.which; | ||
Ga4:'ജ', | } | ||
Gaa:'ഘാ', | |||
Gaa2:'ഗ്ഗാ', | function transliterateKey(event) { | ||
GA:'ഘാ', | /* | ||
GA2:'ഗ്ഗാ', | if ((event.keyCode == 255 && event.charCode > 0) || event.keyCode == 8) { | ||
Gi:'ഘി', | return; | ||
Gi2:'ഗ്ഗി', | } | ||
Gii:'ഘീ', | */ | ||
Gii:'ഗ്ഗീ', | |||
Gee:'ഘീ', | if (event == undefined) | ||
Gee2:'ഗ്ഗീ', | event = window.event; | ||
GI:'ഘീ', | |||
GI2:'ഗ്ഗീ', | var node = null; | ||
GI3:'ഗ്ഗി', | if (event.target) { | ||
Gu:'ഘു', | node = event.target; | ||
Gu2:'ഗു', | } | ||
Gu3:'ഗ്ഗു', | else if (event.srcElement) { | ||
Guu:'ഘൂ', | node = event.srcElement; | ||
Guu2:'ഗ്ഗൂ', | } | ||
Goo:'ഘൂ', | |||
Goo2:'ഗ്ഗൂ', | |||
GU:'ഘൂ', | // initialize state | ||
GU2:'ഗ്ഗൂ', | var state = stateHash[node]; | ||
GR:'ഘൃ', | if (state == null) { | ||
GR2:'ഗ്ഗൃ', | state = new StateObject(node); | ||
Ge:'ഘെ', | stateHash[node] = state; | ||
Ge2:'ഗെ', | } | ||
Ge3:'ഗ്ഗെ', | if ( (pressedKey(event) > 20) && !event.ctrlKey && !event.altKey && !event.metaKey) { | ||
Ge4:'ജെ', | |||
GE:'ഘേ', | var c = String.fromCharCode(pressedKey(event)); | ||
GE2:'ഗ്ഗേ', | |||
Gae:'ഘേ', | // process input | ||
Gae2:'ഗ്ഗേ', | var result = process_translit(state, c); | ||
Gai:'ഘൈ', | // finish up | ||
Gai2:'ഗയ്', | if (c != result.out || result.replace != 0) { | ||
Gai3:'ഗെയ്', | if (isExplorer()) | ||
Gai4:'ഗ്ഗൈ', | event.returnValue = false; | ||
Gei5:'ഘൈ', | else | ||
Gei6:'ഗ്ഗൈ', | event.preventDefault(); | ||
Go:'ഘൊ', | |||
Go2:'ഗോ', | replaceValue(node, result.out, result.replace); | ||
Go3:'ഗൊ', | |||
Go4:'ഗ്ഗൊ', | state.position = new Position(node); | ||
Goo:'ഘോ', | |||
Goo2:'ഗ്ഗോ', | } | ||
GO:'ഘോ', | } | ||
Gau:'ഘൌ', | |||
Gou:'ഘൌ', | } | ||
GaM:'ഘം', | |||
GaH:'ഘഃ', | function TranslitResult() { | ||
ng:'ങ്ങ്', | this.out = ""; | ||
ng2:'ങ്ങു്', | this.replace = 0; | ||
ng3:'ങ്', | } | ||
ng4:'ങു്', | |||
Nga:'ങ', | function process_translit(state, c) { | ||
Nga2:'ങ്ങ', | // reset state if position changed | ||
Ngaa:'ങാ', | if (!state.position.isEqual(new Position(state.node))) | ||
NgA:'ങാ', | state.reset(); | ||
Ngi:'ങി', | |||
Ngii:'ങീ', | var result = new TranslitResult(); | ||
Ngee:'ങീ', | |||
Ngu:'ങു', | // initial backbuffer. Add to it as characters are converted | ||
Nguu:'ങൂ', | var backbuffer = getBackBuffer(state.node, state.cyrBuffer.length, 2); | ||
Ngoo:'ങൂ', | var chunks = new Array(); | ||
NgR:'ങൃ', | |||
Nge:'ങെ', | state.transBuffer = state.transBuffer+ c | ||
NgE:'ങേ', | |||
Ngai:'ങൈ', | var str = to_cyrillic(state.cyrBuffer+c, backbuffer, chunks); | ||
Ngei:'ങൈ', | |||
Ngo:'ങൊ', | // remove backbuffer from output | ||
NgO:'ങോ', | str = str.substr(backbuffer.length); | ||
Ngau:'ങൌ', | result.out = str; | ||
Ngou:'ങൌ', | /* str is now left alone - it has the output matching contents of chunks and | ||
NgaH:'ങഃ', | will be used to reinitialize backbuffers, along with chunks and state.transBuffer | ||
nga:'ങ്ങ', | */ | ||
nga2:'ങ', | |||
ngaa:'ങ്ങാ', | // get the difference between state.cyrBuffer and output | ||
ngaa2:'ങാ', | for (var i = 0; i < Math.min(state.cyrBuffer.length, result.out.length); i++) { | ||
ngA:'ങ്ങാ', | if (state.cyrBuffer.substr(i, 1) != result.out.substr(i, 1)) { | ||
ngA:'ങാ', | result.replace = state.cyrBuffer.length - i; | ||
ngi:'ങ്ങി', | result.out = result.out.substr(i); | ||
ngi2:'ങി', | break; | ||
ngii:'ങ്ങീ', | } | ||
ngii2:'ങീ', | } | ||
ngee:'ങ്ങീ', | if (result.replace == 0) { | ||
ngee2:'ങീ', | if(result.out.length<state.cyrBuffer.length) | ||
ngI:'ങ്ങീ', | result.replace=state.cyrBuffer.length- result.out.length; | ||
ngI:'ങീ', | result.out = result.out.substr(Math.min(state.cyrBuffer.length, result.out.length)); | ||
ngu:'ങ്ങു', | |||
ngu2:'ങു', | // result.out+="\u0008" | ||
nguu:'ങ്ങൂ', | |||
nguu2:'ങൂ', | } | ||
ngoo:'ങ്ങൂ', | |||
ngoo2:'ങൂ', | // update state: backbuffer, bufferArray | ||
ngU:'ങൂ', | if (chunks.length > 0 && chunks[chunks.length - 1] == result.out.substr(result.out.length - 1)) { | ||
ngU2:'ങ്ങൂ', | // no convertion took place, reset state | ||
ngR:'ങ്ങൃ', | state.reset(); | ||
ngR2:'ങൃ', | } | ||
nge:'ങ്ങെ', | else { | ||
nge2:'ങെ', | while (state.transBuffer.length > maxcyrlength) { | ||
ngE:'ങ്ങേ', | state.transBuffer = state.transBuffer.substr(chunks[0].length); | ||
ngae:'ങ്ങേ', | chunks.shift(); | ||
ngE2:'ങേ', | str = str.substr(1); | ||
ngae2:'ങേ', | } | ||
ngai:'ങ്ങൈ', | state.cyrBuffer = str; | ||
ngai2:'ങൈ', | } | ||
nge:'ങ്ങൈ', | return result; | ||
ngei:'ങൈ', | } | ||
ngo:'ങ്ങൊ', | |||
ngo2:'ങൊ', | function getBackBuffer(node, offset, count) { | ||
ngO:'ങ്ങോ', | |||
ngO2:'ങോ', | if (isExplorer()) { //.tagName.toUpperCase() == "EDITOR") { | ||
ngau:'ങ്ങൌ', | |||
ngou:'ങൌ', | var range = document.selection.createRange(); | ||
ngou2:'ങൌ', | range.moveStart("character", -offset); | ||
ngaM:'ങ്ങം', | var result = range.text.substr(-count); | ||
ngaM2:'ങം', | if (!result) | ||
c:'സി', | result = ""; | ||
C:'സി', | |||
ch:'ച്', | return result; | ||
ch2:'ചു്', | |||
ch3:'ച്ച്', | } else { | ||
ch4:'ച്ചു്', | return node.value.substring(0, node.selectionStart - offset).substr(-count); | ||
ch5:'ക്ക്', | } | ||
ch6:'ക്കു്', | } | ||
cha:'ച', | |||
cha2:'ച്ച', | // need this for bookmarklets | ||
cha3:'ച്ഛ', | function getSelectedNode() { | ||
chaa:'ചാ', | if (document.activeElement) | ||
chA:'ചാ', | return document.activeElement; | ||
chi:'ചി', | else | ||
chi2:'ച്ചി', | if (window.getSelection && window.getSelection() && window.getSelection().rangeCount > 0) { | ||
chi3:'ചൈ', | var range = window.getSelection().getRangeAt(0); | ||
chii:'ചീ', | if (range.startContainer && range.startContainer.childNodes && range.startContainer.childNodes.length > range.startOffset) | ||
chee:'ചീ', | return range.startContainer.childNodes[range.startOffset] | ||
chee2:'ച്ചീ', | } | ||
chI:'ചീ', | return null; | ||
chu:'ചു', | } | ||
chu2:'ച്യു', | |||
chuu:'ചൂ', | function toggleCyrMode() { | ||
chuu2:'ച്ചൂ', | var node = getSelectedNode(); | ||
choo:'ചൂ', | if (node) { | ||
choo2:'ച്ചൂ', | if (stateHash[node]) { | ||
choo3:'ചോ', | if (removeKeyEventListener(node)) | ||
chU:'ചൂ', | delete stateHash[node]; | ||
chR:'ചൃ', | } | ||
che:'ചെ', | else { | ||
che2:'ച്ചെ', | if (addKeyEventListener(node)) | ||
chE:'ചേ', | stateHash[node] = new StateObject(node); | ||
chae:'ചേ', | } | ||
chai:'ചൈ', | } | ||
chai2:'ചായ്', | } | ||
chei:'ചൈ', | |||
cho:'ചൊ', | function addKeyEventListener(node) { | ||
cho2:'ചോ', | if (node.addEventListener) | ||
chO:'ചോ', | node.addEventListener("keypress", transliterateKey, false); | ||
chau:'ചൌ', | else if (node.attachEvent) | ||
chou:'ചൌ', | node.attachEvent("onkeypress", transliterateKey); | ||
chaM:'ചം', | else return false; | ||
chaH:'ചഃ', | return true; | ||
Ch:'ഛ്', | } | ||
Cha:'ഛ', | function removeKeyEventListener(node) { | ||
Cha2:'ച', | if (node.removeEventListener) | ||
Cha3:'ച്ച', | node.removeEventListener("keypress", transliterateKey, false); | ||
Chaa:'ഛാ', | else if (node.detachEvent) | ||
ChA:'ഛാ', | node.detachEvent("onkeypress", transliterateKey); | ||
Chi:'ഛി', | else return false; | ||
Chi2:'ചി', | return true; | ||
Chii:'ഛീ', | } | ||
Chee:'ഛീ', | |||
ChI:'ഛീ', | function getSelectedText() { | ||
Chu:'ഛു', | if (isExplorer()) { | ||
Chu2:'ചു', | return document.selection.createRange().text; | ||
Chuu:'ഛൂ', | } | ||
Choo:'ഛൂ', | else { | ||
ChU:'ഛൂ', | var node = getSelectedNode(); | ||
ChR:'ഛൃ', | if (node && node.value && node.selectionStart != undefined && node.selectionEnd != undefined) | ||
Che:'ഛെ', | return node.value.substring(node.selectionStart, node.selectionEnd); | ||
ChE:'ഛേ', | } | ||
Chae:'ഛേ', | return ""; | ||
Chai:'ഛൈ', | } | ||
Chei:'ഛൈ', | |||
Cho:'ഛൊ', | |||
ChO:'ഛോ', | |||
Chau:'ഛൌ', | |||
Chou:'ഛൌ', | //==============================================================================Mozhi Code Ends Here====================================================== | ||
ChaM:'ഛം', | |||
ChaH:'ഛഃ', | |||
chh:'ഛ്', | //==============================================================================Swanalekha================================================================ | ||
chha:'ഛ', | |||
chha2:'ച്ച', | var SWANALEKHA={ | ||
chhaa:'ഛാ', | a:'അ', | ||
chhA:'ഛാ', | a2:'ആ', | ||
chhi:'ഛി', | a3:'എ', | ||
chhii:'ഛീ', | aa:'ആ', | ||
chhee:'ഛീ', | A2:'ആ', | ||
chhI:'ഛീ', | A3:'എ', | ||
chhu:'ഛു', | i:'ഇ', | ||
chhuu:'ഛൂ', | i2:'ഈ', | ||
chhoo:'ഛൂ', | i3:'ഐ', | ||
chhU:'ഛൂ', | ii:'ഈ', | ||
chhR:'ഛൃ', | I:'ഈ', | ||
chhe:'ഛെ', | I2:'ഐ', | ||
chhE:'ഛേ', | ee:'ഈ', | ||
chhae:'ഛേ', | ee2:'ഏ', | ||
chhai:'ഛൈ', | u:'ഉ', | ||
chhei:'ഛൈ', | u2:'ഊ', | ||
chho:'ഛൊ', | u3:'യു', | ||
chhO:'ഛോ', | uu:'ഊ', | ||
chhau:'ഛൌ', | oo:'ഊ', | ||
chhou:'ഛൌ', | U:'ഊ', | ||
chhaM:'ഛം', | RR:'ഋ', | ||
chhaH:'ഛഃ', | rr:'ഋ', | ||
j:'ജ്', | e:'എ', | ||
j2:'ജു്', | e2:'ഇ', | ||
j3:'ജെ', | E:'ഏ', | ||
ja:'ജ', | E2:'ഇ', | ||
ja2:'ജെ', | ae:'ഏ', | ||
jaa:'ജാ', | ai:'ഐ', | ||
jA:'ജാ', | ei:'ഐ', | ||
ji:'ജി', | o:'ഒ', | ||
ji2:'ജൈ', | O:'ഓ', | ||
jii:'ജീ', | au:'ഔ', | ||
jee:'ജീ', | ou:'ഔ', | ||
jI:'ജീ', | aH:'അഃ', | ||
ju:'ജു', | '~':'\u200C', | ||
juu:'ജൂ', | '_':'\u200C', | ||
joo:'ജൂ', | '^':'്', | ||
jU:'ജൂ', | '@':'@', | ||
jR:'ജൃ', | '@a':'@a', | ||
je:'ജെ', | '@0':'൦', | ||
je2:'ജീ', | '@1':'൧', | ||
jE:'ജേ', | '@2':'൨', | ||
jae:'ജേ', | '@3':'൩', | ||
jai:'ജൈ', | '@4':'൪', | ||
jai2:'ജയ്', | '@5':'൫', | ||
jei:'ജൈ', | '@6':'൬', | ||
jo:'ജൊ', | '@7':'൭', | ||
jO:'ജോ', | '@8':'൮', | ||
jau:'ജൌ', | '@9':'൯', | ||
jou:'ജൌ', | '@aa':'ാ', | ||
jaM:'ജം', | '@A':'ാ', | ||
jaH:'ജഃ', | '@i':'ി', | ||
jh:'ഝ്', | '@ii':'ീ', | ||
jha:'ഝ', | '@I':'ീ', | ||
jhaa:'ഝാ', | '@ee':'ീ', | ||
jhA:'ഝാ', | '@u':'ു', | ||
jhi:'ഝി', | '@uu':'ൂ', | ||
jhii:'ഝീ', | '@U':'ൂ', | ||
jhee:'ഝീ', | '@oo':'ൂ', | ||
jhI:'ഝീ', | '@R':'ൃ', | ||
jhu:'ഝു', | '@e':'െ', | ||
jhuu:'ഝൂ', | '@E':'േ', | ||
jhoo:'ഝൂ', | '@ae':'േ', | ||
jhU:'ഝൂ', | '@o':'ൊ', | ||
jhR:'ഝൃ', | '@O':'ോ', | ||
jhe:'ഝെ', | '@ai':'ൈ', | ||
jhE:'ഝേ', | '@ei':'ൈ', | ||
jhae:'ഝേ', | '@ou':'ൌ', | ||
jhai:'ഝൈ', | '@ou2':'ൗ', | ||
jhei:'ഝൈ', | '@au':'ൌ', | ||
jho:'ഝൊ', | '@au2':'ൗ', | ||
jhoo:'ഝോ', | k:'ക്', | ||
jhO:'ഝോ', | k2:'കു്', | ||
jhau:'ഝൌ', | k3:'ക്\u200D', | ||
jhou:'ഝൌ', | 'k~':'ക്\u200D', | ||
jhaM:'ഝം', | 'k_':'ക്\u200D', | ||
jhaH:'ഝഃ', | 'c~':'ക്\u200D', | ||
J:'ഝ്', | 'c_':'ക്\u200D', | ||
J2:'ജെ', | c:'ക്', | ||
Ja:'ഝ', | c2:'കു്', | ||
Ja2:'ജ', | k3:'ക്\u200D', | ||
Ja3:'ജെ', | k4:'ക്ക്', | ||
Jaa:'ഝാ', | k5:'ക്കു്', | ||
JA:'ഝാ', | k6:'കെ', | ||
Ji:'ഝി', | ck:'ക്ക്', | ||
Ji2:'ജി', | ka:'ക', | ||
Ji3:'ജൈ', | ca:'ക', | ||
Jii:'ഝീ', | ca2:'കാ', | ||
Jee:'ഝീ', | ca3:'കേ', | ||
Jee:'ജീ', | ka2:'ഗ', | ||
JI:'ഝീ', | ka3:'ഖ', | ||
Ju:'ഝു', | ka4:'ഘ', | ||
Ju:'ജു', | kaa:'കാ', | ||
Juu:'ഝൂ', | kaa2:'ഗാ', | ||
Juu2:'ജൂ', | caa:'കാ', | ||
Joo:'ഝൂ', | kA:'കാ', | ||
Joo:'ജൂ', | cA:'കാ', | ||
JU:'ഝൂ', | ki:'കി', | ||
JU2:'ജെ.യു.', | ki2:'ഗി', | ||
JR:'ഝൃ', | ki2:'ഘി', | ||
JR2:'ജെ.ആര്', | ki3:'ഖി', | ||
Je:'ഝെ', | ki4:'കൈ', | ||
JE:'ഝേ', | ci:'കി', | ||
Jae:'ഝേ', | ci2:'സി', | ||
Jai:'ഝൈ', | ci3:'സൈ', | ||
Jai2:'ജയ്', | kii:'കീ', | ||
Jei:'ഝൈ', | kee:'കീ', | ||
Jo:'ഝൊ', | cee:'കീ', | ||
Jo2:'ജോ', | kI:'കീ', | ||
Jo3:'ജൊ', | cI:'കീ', | ||
Joo:'ഝോ', | ku:'കു', | ||
JO:'ഝോ', | ku2:'കൂ', | ||
Jau:'ഝൌ', | cu:'കു', | ||
Jou:'ഝൌ', | kuu:'കൂ', | ||
JaM:'ഝം', | cuu:'കൂ', | ||
JaH:'ഝഃ', | coo:'കൂ', | ||
nj:'ഞ്', | koo:'കൂ', | ||
nj2:'ഞ്ഞ്', | koo2:'കോ', | ||
nj3:'ഞ്ഞു്', | kU:'കൂ', | ||
nja:'ഞ', | cU:'കൂ', | ||
nja2:'ഞ്ച', | kR:'കൃ', | ||
nja3:'ഞ്ഞ', | cR:'കൃ', | ||
njaa:'ഞാ', | ke:'കെ', | ||
njaa2:'ഞ്ചാ', | ce:'കെ', | ||
njA:'ഞാ', | ce:'സ്', | ||
nji:'ഞി', | kE:'കേ', | ||
nji2:'ഞ്ഞി', | cE:'കേ', | ||
nji3:'ഞ്ചി', | kae:'കേ', | ||
njii:'ഞീ', | cae:'കേ', | ||
njee:'ഞീ', | kai:'കൈ', | ||
njee2:'ഞ്ചീ', | cai:'കൈ', | ||
njI:'ഞീ', | kai2:'കയ്', | ||
nju:'ഞു', | kei:'കൈ', | ||
nju2:'ഞ്ഞു', | cei:'കൈ', | ||
nju3:'ഞ്ചു', | kei:'കെയ്', | ||
njuu:'ഞൂ', | ko:'കൊ', | ||
njuu2:'ഞ്ഞൂ', | co:'കൊ', | ||
njuu:'ഞ്ചൂ', | kO:'കോ', | ||
njoo:'ഞൂ', | cO:'കോ', | ||
njoo:'ഞ്ഞൂ', | kau:'കൌ', | ||
njU:'ഞൂ', | cau:'കൌ', | ||
njR:'ഞൃ', | kou:'കൌ', | ||
nje:'ഞെ', | cou:'കൌ', | ||
nje2:'ഞ്ഞെ', | kaM:'കം', | ||
nje3:'ഞ്ചെ', | kaH:'കഃ', | ||
njE:'ഞേ', | kh:'ഖ്', | ||
njE2:'ഞ്ഞേ', | kh2:'ഖു്', | ||
njae:'ഞേ', | kh:'ഘ്', | ||
njae2:'ഞ്ഞേ', | kh:'ഘു്', | ||
njai:'ഞൈ', | kha:'ഖ', | ||
njai2:'ഞ്ഞൈ', | kha2:'ക്ക', | ||
njei:'ഞ്ചൈ', | kha3:'ഘ', | ||
njei2:'ഞൈ', | khaa:'ഖാ', | ||
njei3:'ഞ്ഞൈ', | khA:'ഖാ', | ||
njo:'ഞൊ', | khi:'ഖി', | ||
njo2:'ഞ്ഞോ', | khi2:'ക്കി', | ||
njo:'ഞ്ചൊ', | khii:'ഖീ', | ||
njO:'ഞോ', | khee:'ഖീ', | ||
njO2:'ഞ്ഞോ', | khI:'ഖീ', | ||
njO3:'ഞ്ചോ', | khu:'ഖു', | ||
njau:'ഞൌ', | khu2:'ഘു', | ||
njau3:'ഞ്ഞൌ', | khuu:'ഖൂ', | ||
njou:'ഞൌ', | khoo:'ഖൂ', | ||
njaM:'ഞം', | khU:'ഖൂ', | ||
njaH:'ഞഃ', | khR:'ഖൃ', | ||
t:'ട്', | khe:'ഖെ', | ||
t2:'ടു്', | khE:'ഖേ', | ||
t3:'ട്ട്', | khae:'ഖേ', | ||
t4:'റ്റ്', | khai:'ഖൈ', | ||
t5:'ത്', | khei:'ഖൈ', | ||
t6:'ടി', | kho:'ഖൊ', | ||
ta:'ട', | khO:'ഖോ', | ||
ta2:'റ്റ', | khau:'ഖൌ', | ||
ta3:'ത', | khou:'ഖൌ', | ||
ta4:'ഠ', | khaM:'ഖം', | ||
taa:'ടാ', | khaH:'ഖഃ', | ||
taa2:'റ്റാ', | K:'ഖ്', | ||
taa3:'താ', | K2:'ഖു്', | ||
taa4:'ഠാ', | K3:'കെ', | ||
taa5:'ട്ടാ', | Ka:'ഖ', | ||
tA:'ടാ', | Ka2:'ക', | ||
tA2:'താ', | Ka3:'ക്ക', | ||
tA3:'റ്റാ', | Kaa:'ഖാ', | ||
tA4:'ഠാ', | KA:'ഖാ', | ||
tA5:'ട്ടാ', | Ki:'ഖി', | ||
ti:'ടി', | Ki2:'കി', | ||
ti2:'തി', | Kii:'ഖീ', | ||
ti3:'ട്ടി', | Kee:'ഖീ', | ||
ti4:'റ്റി', | Kee2:'കീ', | ||
ti5:'ഠി', | KI:'ഖ', | ||
ti6:'ടൈ', | Ku:'ഖു', | ||
ti7:'തൈ', | Ku2:'കു', | ||
tii:'ടീ', | Kuu:'ഖൂ', | ||
tee:'ടീ', | Kuu3:'കൂ', | ||
tee2:'തീ', | Koo:'ഖൂ', | ||
tee3:'റ്റീ', | Koo2:'കൂ', | ||
tea:'ടീ', | Koo3:'കോ', | ||
tea2:'റ്റീ', | KU:'ഖൂ', | ||
tea3:'തീ', | KR:'ഖൃ', | ||
tI:'ടീ', | Ke:'ഖെ', | ||
tI2:'റ്റീ', | Ke2:'കെ', | ||
tu:'ടു', | KE:'ഖേ', | ||
tu2:'തു', | Kae:'ഖേ', | ||
tu3:'റ്റു', | Kai:'ഖൈ', | ||
tu4:'ട്ടു', | Kei:'ഖൈ', | ||
tuu:'ടൂ', | Ko:'ഖൊ', | ||
tuu2:'തൂ', | Ko2:'കൊ', | ||
tuu3:'റ്റൂ', | Ko3:'കോ', | ||
too:'ടൂ', | KO:'ഖോ', | ||
too2:'റ്റൂ', | Kau:'ഖൌ', | ||
too3:'തൂ', | Kou:'ഖൌ', | ||
tU:'ടൂ', | KaM:'ഖം', | ||
tU2:'റ്റൂ', | KaH:'ഖഃ', | ||
tR:'ടൃ', | g:'ഗ്', | ||
te:'ടെ', | g2:'ഗു്', | ||
te2:'തെ', | g3:'ജി', | ||
te3:'റ്റെ', | ga:'ഗ', | ||
te4:'ഠെ', | ga2:'ജ', | ||
tE:'ടേ', | ga3:'ക', | ||
tE2:'തേ', | ga4:'ഖ', | ||
tae:'ടേ', | gaa:'ഗാ', | ||
tai:'ടൈ', | gA:'ഗാ', | ||
tai2:'ടായ്', | gi:'ഗി', | ||
tei:'ടൈ', | gi2:'കി', | ||
tei2:'ടെയ്', | gi3:'ജി', | ||
to:'ടൊ', | gii:'ഗീ', | ||
to2:'ടു', | gee:'ഗീ', | ||
to3:'റ്റു', | gI:'ഗീ', | ||
tO:'ടോ', | gu:'ഗു', | ||
tau:'ടൌ', | guu:'ഗൂ', | ||
tou:'ടൌ', | goo:'ഗൂ', | ||
taM:'ടം', | goo2:'ഗോ', | ||
taM2:'തം', | gU:'ഗൂ', | ||
taH:'ടഃ', | gR:'ഗൃ', | ||
taH2:'തഃ', | ge:'ഗെ', | ||
T:'ഠ്', | gE:'ഗേ', | ||
T2:'ട്ടു്', | gae:'ഗേ', | ||
Ta:'ഠ', | gai:'ഗൈ', | ||
Ta2:'ട', | gei:'ഗൈ', | ||
Ta3:'ത', | go:'ഗൊ', | ||
Taa:'ഠാ', | go2:'ഗോ', | ||
TA:'ഠാ', | gO:'ഗോ', | ||
Ti:'ഠി', | gau:'ഗൌ', | ||
Ti2:'ടി', | gou:'ഗൌ', | ||
Ti3:'തി', | gaM:'ഗം', | ||
Ti3:'തൈ', | gaH:'ഗഃ', | ||
Tii:'ഠീ', | gh:'ഘ്', | ||
Tee:'ഠീ', | gh2:'ഘു്', | ||
TI:'ഠീ', | gha:'ഘ', | ||
Tu:'ഠു', | gha2:'ഖ', | ||
Tu2:'ടു', | ghaa:'ഘാ', | ||
Tu3:'തു', | ghA:'ഘാ', | ||
Tuu:'ഠൂ', | ghi:'ഘി', | ||
Too:'ഠൂ', | ghii:'ഘീ', | ||
Too2:'ടൂ', | ghee:'ഘീ', | ||
Too3:'തൂ', | ghI:'ഘീ', | ||
TU:'ഠൂ', | ghu:'ഘു', | ||
TR:'ഠൃ', | ghuu:'ഘൂ', | ||
Te:'ഠെ', | ghoo:'ഘൂ', | ||
Te2:'ടെ', | ghU:'ഘൂ', | ||
Te3:'തെ', | ghR:'ഘൃ', | ||
TE:'ഠേ', | ghe:'ഘെ', | ||
TE2:'ടേ', | ghE:'ഘേ', | ||
Tae:'ഠേ', | ghae:'ഘേ', | ||
Tai:'ഠൈ', | ghai:'ഘൈ', | ||
Tei:'ഠൈ', | ghei:'ഘൈ', | ||
To:'ഠൊ', | gho:'ഘൊ', | ||
To2:'ടു', | ghO:'ഘോ', | ||
To3:'തൊ', | ghau:'ഘൌ', | ||
TO:'ഠോ', | ghou:'ഘൌ', | ||
TO2:'തോ', | ghaM:'ഘം', | ||
Tau:'ഠൌ', | ghaH:'ഘഃ', | ||
Tou:'ഠൌ', | G:'ഘ്', | ||
TaM:'ഠം', | G2:'ഘു്', | ||
TaH:'ഠഃ', | G3:'ജി', | ||
D:'ഡ്', | G4:'ഗ്ഗി', | ||
D2:'ഡു്', | Ga:'ഘ', | ||
D3:'ദ്', | Ga2:'ഗ', | ||
D4:'ഡി', | Ga3:'ഗ്ഗ', | ||
Da:'ഡ', | Ga4:'ജ', | ||
Da2:'ദ', | Gaa:'ഘാ', | ||
Da3:'ഢ', | Gaa2:'ഗ്ഗാ', | ||
Da4:'ഠ', | GA:'ഘാ', | ||
Daa:'ഡാ', | GA2:'ഗ്ഗാ', | ||
Daa2:'ദാ', | Gi:'ഘി', | ||
DA:'ഡാ', | Gi2:'ഗ്ഗി', | ||
DA3:'ദാ', | Gii:'ഘീ', | ||
Di:'ഡി', | Gii:'ഗ്ഗീ', | ||
Dii:'ഡീ', | Gee:'ഘീ', | ||
Dee:'ഡീ', | Gee2:'ഗ്ഗീ', | ||
DI:'ഡീ', | GI:'ഘീ', | ||
Du:'ഡു', | GI2:'ഗ്ഗീ', | ||
Du2:'ദു', | GI3:'ഗ്ഗി', | ||
Du3:'ദുഃ', | Gu:'ഘു', | ||
Duu:'ഡൂ', | Gu2:'ഗു', | ||
Doo:'ഡൂ', | Gu3:'ഗ്ഗു', | ||
DU:'ഡൂ', | Guu:'ഘൂ', | ||
DR:'ഡൃ', | Guu2:'ഗ്ഗൂ', | ||
De:'ഡെ', | Goo:'ഘൂ', | ||
De2:'ടെ', | Goo2:'ഗ്ഗൂ', | ||
DE:'ഡേ', | GU:'ഘൂ', | ||
Dae:'ഡേ', | GU2:'ഗ്ഗൂ', | ||
Dai:'ഡൈ', | GR:'ഘൃ', | ||
Dei:'ഡൈ', | GR2:'ഗ്ഗൃ', | ||
Do:'ഡൊ', | Ge:'ഘെ', | ||
Do2:'ദൊ', | Ge2:'ഗെ', | ||
DO:'ഡോ', | Ge3:'ഗ്ഗെ', | ||
Dau:'ഡൌ', | Ge4:'ജെ', | ||
Dou:'ഡൌ', | GE:'ഘേ', | ||
DaM:'ഡം', | GE2:'ഗ്ഗേ', | ||
DaH:'ഡഃ', | Gae:'ഘേ', | ||
Dh:'ഢ്', | Gae2:'ഗ്ഗേ', | ||
Dha:'ഢ', | Gai:'ഘൈ', | ||
Dhaa:'ഢാ', | Gai2:'ഗയ്', | ||
DhA:'ഢാ', | Gai3:'ഗെയ്', | ||
Dhi:'ഢി', | Gai4:'ഗ്ഗൈ', | ||
Dhii:'ഢീ', | Gei5:'ഘൈ', | ||
Dhee:'ഢീ', | Gei6:'ഗ്ഗൈ', | ||
DhI:'ഢീ', | Go:'ഘൊ', | ||
Dhu:'ഢു', | Go2:'ഗോ', | ||
Dhuu:'ഢൂ', | Go3:'ഗൊ', | ||
Dhoo:'ഢൂ', | Go4:'ഗ്ഗൊ', | ||
DhU:'ഢൂ', | Goo:'ഘോ', | ||
DhR:'ഢൃ', | Goo2:'ഗ്ഗോ', | ||
Dhe:'ഢെ', | GO:'ഘോ', | ||
DhE:'ഢേ', | Gau:'ഘൌ', | ||
Dhae:'ഢേ', | Gou:'ഘൌ', | ||
Dhai:'ഢൈ', | GaM:'ഘം', | ||
Dhei:'ഢൈ', | GaH:'ഘഃ', | ||
Dho:'ഢൊ', | ng:'ങ്ങ്', | ||
DhO:'ഢോ', | ng2:'ങ്ങു്', | ||
Dhau:'ഢൌ', | ng3:'ങ്', | ||
Dhau:'ഢൌ', | ng4:'ങു്', | ||
Dhou:'ഢൌ', | Nga:'ങ', | ||
DhaM:'ഢം', | Nga2:'ങ്ങ', | ||
DhaH:'ഢഃ', | Ngaa:'ങാ', | ||
N:'ണ്', | NgA:'ങാ', | ||
N2:'ണ്\u200D', | Ngi:'ങി', | ||
N3:'ണു്', | Ngii:'ങീ', | ||
N4:'ന്\u200D', | Ngee:'ങീ', | ||
N5:'ണ്ണ്', | Ngu:'ങു', | ||
N6:'ണ്ണു്', | Nguu:'ങൂ', | ||
N7:'എന്\u200D', | Ngoo:'ങൂ', | ||
'N_':'ണ്\u200D', | NgR:'ങൃ', | ||
'N~':'ണ്\u200D', | Nge:'ങെ', | ||
Na:'ണ', | NgE:'ങേ', | ||
Na2:'ന', | Ngai:'ങൈ', | ||
Na3:'നാ', | Ngei:'ങൈ', | ||
Na4:'ണ്ണ', | Ngo:'ങൊ', | ||
Naa:'ണാ', | NgO:'ങോ', | ||
Naa2:'നാ', | Ngau:'ങൌ', | ||
NA:'ണാ', | Ngou:'ങൌ', | ||
Ni:'ണി', | NgaH:'ങഃ', | ||
Ni2:'ണ്ണി', | nga:'ങ്ങ', | ||
Nii:'ണീ', | nga2:'ങ', | ||
Nee:'ണീ', | ngaa:'ങ്ങാ', | ||
Nee2:'നീ', | ngaa2:'ങാ', | ||
NI:'ണീ', | ngA:'ങ്ങാ', | ||
Nu:'ണു', | ngA:'ങാ', | ||
Nuu:'ണൂ', | ngi:'ങ്ങി', | ||
Nuu2:'നൂ', | ngi2:'ങി', | ||
Noo:'ണൂ', | ngii:'ങ്ങീ', | ||
Noo2:'നൂ', | ngii2:'ങീ', | ||
NU:'ണൂ', | ngee:'ങ്ങീ', | ||
NR:'ണൃ', | ngee2:'ങീ', | ||
Ne:'ണെ', | ngI:'ങ്ങീ', | ||
Nee:'ണേ', | ngI:'ങീ', | ||
Nee2:'നീ', | ngu:'ങ്ങു', | ||
NE:'ണേ', | ngu2:'ങു', | ||
Nae:'ണേ', | nguu:'ങ്ങൂ', | ||
Nai:'ണൈ', | nguu2:'ങൂ', | ||
Nei:'ണൈ', | ngoo:'ങ്ങൂ', | ||
No:'ണൊ', | ngoo2:'ങൂ', | ||
No2:'നോ', | ngU:'ങൂ', | ||
NO:'ണോ', | ngU2:'ങ്ങൂ', | ||
NO2:'നോ', | ngR:'ങ്ങൃ', | ||
Nau:'ണൌ', | ngR2:'ങൃ', | ||
Nou:'ണൌ', | nge:'ങ്ങെ', | ||
NaM:'ണം', | nge2:'ങെ', | ||
NaH:'ണഃ', | ngE:'ങ്ങേ', | ||
th:'ത്', | ngae:'ങ്ങേ', | ||
th2:'തു്', | ngE2:'ങേ', | ||
th3:'ത്ത്', | ngae2:'ങേ', | ||
th4:'ത്തു്', | ngai:'ങ്ങൈ', | ||
tha:'ത', | ngai2:'ങൈ', | ||
tha2:'ധ', | nge:'ങ്ങൈ', | ||
tha3:'ഥ', | ngei:'ങൈ', | ||
tha4:'ത്ത', | ngo:'ങ്ങൊ', | ||
tha5:'ദ്ധ', | ngo2:'ങൊ', | ||
thaa:'താ', | ngO:'ങ്ങോ', | ||
thaa2:'ഥാ', | ngO2:'ങോ', | ||
thaa3:'ധാ', | ngau:'ങ്ങൌ', | ||
thaa4:'ത്താ', | ngou:'ങൌ', | ||
thA:'താ', | ngou2:'ങൌ', | ||
thA2:'ഥാ', | ngaM:'ങ്ങം', | ||
thA3:'ധാ', | ngaM2:'ങം', | ||
thA4:'ത്താ', | c:'സി', | ||
thi:'തി', | C:'സി', | ||
thi2:'ത്തി', | ch:'ച്', | ||
thi3:'ഥി', | ch2:'ചു്', | ||
thi4:'ധി', | ch3:'ച്ച്', | ||
thi5:'ത്ഥി', | ch4:'ച്ചു്', | ||
thi6:'ദ്ധി', | ch5:'ക്ക്', | ||
thi7:'തൈ', | ch6:'ക്കു്', | ||
thii:'തീ', | cha:'ച', | ||
thii2:'ത്തീ', | cha2:'ച്ച', | ||
thii3:'ഥീ', | cha3:'ച്ഛ', | ||
thii4:'ധീ', | chaa:'ചാ', | ||
thee:'തീ', | chA:'ചാ', | ||
thee2:'ഥീ', | chi:'ചി', | ||
thI:'തീ', | chi2:'ച്ചി', | ||
thu:'തു', | chi3:'ചൈ', | ||
thu2:'ത്തു', | chii:'ചീ', | ||
thuu:'തൂ', | chee:'ചീ', | ||
thuu2:'ഥൂ', | chee2:'ച്ചീ', | ||
thoo:'തൂ', | chI:'ചീ', | ||
thoo2:'ഥൂ', | chu:'ചു', | ||
thoo3:'തോ', | chu2:'ച്യു', | ||
thU:'തൂ', | chuu:'ചൂ', | ||
thR:'തൃ', | chuu2:'ച്ചൂ', | ||
the:'തെ', | choo:'ചൂ', | ||
thE:'തേ', | choo2:'ച്ചൂ', | ||
thae:'തേ', | choo3:'ചോ', | ||
thee:'തേ', | chU:'ചൂ', | ||
thai:'തൈ', | chR:'ചൃ', | ||
thei:'തൈ', | che:'ചെ', | ||
thei2:'തെയ്', | che2:'ച്ചെ', | ||
tho:'തൊ', | chE:'ചേ', | ||
tho2:'തോ', | chae:'ചേ', | ||
tho3:'ത്തൊ', | chai:'ചൈ', | ||
thO:'തോ', | chai2:'ചായ്', | ||
thO2:'ത്തോ', | chei:'ചൈ', | ||
thau:'തൌ', | cho:'ചൊ', | ||
thou:'തൌ', | cho2:'ചോ', | ||
thaM:'തം', | chO:'ചോ', | ||
thaM:'ത്തം', | chau:'ചൌ', | ||
thaH:'തഃ', | chou:'ചൌ', | ||
Th:'ഥ്', | chaM:'ചം', | ||
Th2:'ഥു്', | chaH:'ചഃ', | ||
Tha:'ഥ', | Ch:'ഛ്', | ||
Tha2:'ത', | Cha:'ഛ', | ||
Thaa:'ഥാ', | Cha2:'ച', | ||
Thaa2:'താ', | Cha3:'ച്ച', | ||
ThA:'ഥാ', | Chaa:'ഛാ', | ||
Thi:'ഥി', | ChA:'ഛാ', | ||
Thi2:'തി', | Chi:'ഛി', | ||
Thi3:'ത്ഥി', | Chi2:'ചി', | ||
Thii:'ഥീ', | Chii:'ഛീ', | ||
Thee:'ഥീ', | Chee:'ഛീ', | ||
Thee2:'തീ', | ChI:'ഛീ', | ||
ThI:'ഥീ', | Chu:'ഛു', | ||
Thu:'ഥു', | Chu2:'ചു', | ||
Thu2:'തു', | Chuu:'ഛൂ', | ||
Thuu:'ഥൂ', | Choo:'ഛൂ', | ||
Thuu2:'തൂ', | ChU:'ഛൂ', | ||
Thoo:'ഥൂ', | ChR:'ഛൃ', | ||
Thoo2:'തൂ', | Che:'ഛെ', | ||
ThU:'ഥൂ', | ChE:'ഛേ', | ||
ThU2:'തൂ', | Chae:'ഛേ', | ||
ThR:'ഥൃ', | Chai:'ഛൈ', | ||
ThR2:'തൃ', | Chei:'ഛൈ', | ||
The:'ഥെ', | Cho:'ഛൊ', | ||
The2:'ദി', | ChO:'ഛോ', | ||
The3:'തെ', | Chau:'ഛൌ', | ||
ThE:'ഥേ', | Chou:'ഛൌ', | ||
Thae:'ഥേ', | ChaM:'ഛം', | ||
Thai:'ഥൈ', | ChaH:'ഛഃ', | ||
Thai2:'തൈ', | chh:'ഛ്', | ||
Thei:'ഥൈ', | chha:'ഛ', | ||
Thei2:'തെയ്', | chha2:'ച്ച', | ||
Tho:'ഥൊ', | chhaa:'ഛാ', | ||
ThO:'ഥോ', | chhA:'ഛാ', | ||
Thau:'ഥൌ', | chhi:'ഛി', | ||
Thou:'ഥൌ', | chhii:'ഛീ', | ||
ThaM:'ഥം', | chhee:'ഛീ', | ||
ThaH:'ഥഃ', | chhI:'ഛീ', | ||
TH:'ഥ്', | chhu:'ഛു', | ||
TH2:'ഥു്', | chhuu:'ഛൂ', | ||
THa:'ഥ', | chhoo:'ഛൂ', | ||
THa2:'ത', | chhU:'ഛൂ', | ||
THaa:'ഥാ', | chhR:'ഛൃ', | ||
THaa2:'താ', | chhe:'ഛെ', | ||
THA:'ഥാ', | chhE:'ഛേ', | ||
THi:'ഥി', | chhae:'ഛേ', | ||
THi2:'തി', | chhai:'ഛൈ', | ||
THi3:'ത്ഥി', | chhei:'ഛൈ', | ||
THii:'ഥീ', | chho:'ഛൊ', | ||
THee:'ഥീ', | chhO:'ഛോ', | ||
THee2:'തീ', | chhau:'ഛൌ', | ||
THI:'ഥീ', | chhou:'ഛൌ', | ||
THu:'ഥു', | chhaM:'ഛം', | ||
THu2:'തു', | chhaH:'ഛഃ', | ||
THuu:'ഥൂ', | j:'ജ്', | ||
THuu2:'തൂ', | j2:'ജു്', | ||
THoo:'ഥൂ', | j3:'ജെ', | ||
THoo2:'തൂ', | ja:'ജ', | ||
THU:'ഥൂ', | ja2:'ജെ', | ||
THU2:'തൂ', | jaa:'ജാ', | ||
THR:'ഥൃ', | jA:'ജാ', | ||
THR2:'തൃ', | ji:'ജി', | ||
THe:'ഥെ', | ji2:'ജൈ', | ||
THe2:'ദി', | jii:'ജീ', | ||
THe3:'തെ', | jee:'ജീ', | ||
THE:'ഥേ', | jI:'ജീ', | ||
THae:'ഥേ', | ju:'ജു', | ||
THai:'ഥൈ', | juu:'ജൂ', | ||
THai2:'തൈ', | joo:'ജൂ', | ||
THei:'ഥൈ', | jU:'ജൂ', | ||
THei3:'തെയ്', | jR:'ജൃ', | ||
THo:'ഥൊ', | je:'ജെ', | ||
THO:'ഥോ', | je2:'ജീ', | ||
THau:'ഥൌ', | jE:'ജേ', | ||
THou:'ഥൌ', | jae:'ജേ', | ||
THaM:'ഥം', | jai:'ജൈ', | ||
THaH:'ഥഃ', | jai2:'ജയ്', | ||
tH:'ഥ്', | jei:'ജൈ', | ||
tH2:'ഥു്', | jo:'ജൊ', | ||
tHa:'ഠ', | jO:'ജോ', | ||
tHa2:'ത', | jau:'ജൌ', | ||
tHaa:'ഠാ', | jou:'ജൌ', | ||
tHaa2:'താ', | jaM:'ജം', | ||
tHA:'ഠാ', | jaH:'ജഃ', | ||
tHi:'ഠി', | jh:'ഝ്', | ||
tHi2:'തി', | jha:'ഝ', | ||
tHi3:'ത്ഠി', | jhaa:'ഝാ', | ||
tHii:'ഠീ', | jhA:'ഝാ', | ||
tHee:'ഠീ', | jhi:'ഝി', | ||
tHee2:'തീ', | jhii:'ഝീ', | ||
tHI:'ഠീ', | jhee:'ഝീ', | ||
tHu:'ഥു', | jhI:'ഝീ', | ||
tHu2:'തു', | jhu:'ഝു', | ||
tHuu:'ഥൂ', | jhuu:'ഝൂ', | ||
tHuu2:'തൂ', | jhoo:'ഝൂ', | ||
tHoo:'ഥൂ', | jhU:'ഝൂ', | ||
tHoo2:'തൂ', | jhR:'ഝൃ', | ||
tHU:'ഥൂ', | jhe:'ഝെ', | ||
tHU2:'തൂ', | jhE:'ഝേ', | ||
tHR:'ഥൃ', | jhae:'ഝേ', | ||
tHR2:'തൃ', | jhai:'ഝൈ', | ||
tHe:'ഠെ', | jhei:'ഝൈ', | ||
tHe2:'ദി', | jho:'ഝൊ', | ||
tHe3:'തെ', | jhoo:'ഝോ', | ||
tHE:'ഠേ', | jhO:'ഝോ', | ||
tHae:'ഠേ', | jhau:'ഝൌ', | ||
tHai:'ഠൈ', | jhou:'ഝൌ', | ||
tHai2:'തൈ', | jhaM:'ഝം', | ||
tHei:'ഠൈ', | jhaH:'ഝഃ', | ||
tHei2:'തെയ്', | J:'ഝ്', | ||
tHo:'ഠൊ', | J2:'ജെ', | ||
tHO:'ഠോ', | Ja:'ഝ', | ||
tHau:'ഠൌ', | Ja2:'ജ', | ||
tHou:'ഠൌ', | Ja3:'ജെ', | ||
tHaM:'ഠം', | Jaa:'ഝാ', | ||
tHaH:'ഠഃ', | JA:'ഝാ', | ||
d:'ദ്', | Ji:'ഝി', | ||
d2:'ദു്', | Ji2:'ജി', | ||
d3:'ട്', | Ji3:'ജൈ', | ||
d4:'ടു്', | Jii:'ഝീ', | ||
d5:'ഡി', | Jee:'ഝീ', | ||
d6:'ദ്ദ്', | Jee:'ജീ', | ||
da:'ദ', | JI:'ഝീ', | ||
da2:'ട', | Ju:'ഝു', | ||
da3:'ഡ', | Ju:'ജു', | ||
daa:'ദാ', | Juu:'ഝൂ', | ||
daa2:'ടാ', | Juu2:'ജൂ', | ||
dA:'ദാ', | Joo:'ഝൂ', | ||
dA2:'ടാ', | Joo:'ജൂ', | ||
di:'ദി', | JU:'ഝൂ', | ||
di2:'ടി', | JU2:'ജെ.യു.', | ||
di3:'ധി', | JR:'ഝൃ', | ||
di4:'ഥി', | JR2:'ജെ.ആര്', | ||
di5:'ഡൈ', | Je:'ഝെ', | ||
dii:'ദീ', | JE:'ഝേ', | ||
dii2:'ടീ', | Jae:'ഝേ', | ||
dee:'ദീ', | Jai:'ഝൈ', | ||
dee2:'ടീ', | Jai2:'ജയ്', | ||
dI:'ദീ', | Jei:'ഝൈ', | ||
dI2:'ടീ', | Jo:'ഝൊ', | ||
du:'ദു', | Jo2:'ജോ', | ||
du2:'ടു', | Jo3:'ജൊ', | ||
du3:'ദുഃ', | Joo:'ഝോ', | ||
du4:'തു', | JO:'ഝോ', | ||
duu:'ദൂ', | Jau:'ഝൌ', | ||
doo:'ദൂ', | Jou:'ഝൌ', | ||
dU:'ദൂ', | JaM:'ഝം', | ||
dR:'ദൃ', | JaH:'ഝഃ', | ||
de:'ദെ', | nj:'ഞ്', | ||
de2:'ടെ', | nj2:'ഞ്ഞ്', | ||
de3:'തെ', | nj3:'ഞ്ഞു്', | ||
dE:'ദേ', | nja:'ഞ', | ||
dE2:'തേ', | nja2:'ഞ്ച', | ||
dae:'ദേ', | nja3:'ഞ്ഞ', | ||
dai:'ദൈ', | njaa:'ഞാ', | ||
dai2:'ഡായ്', | njaa2:'ഞ്ചാ', | ||
dei:'ദൈ', | njA:'ഞാ', | ||
dei3:'ഡേയ്', | nji:'ഞി', | ||
'do':'ദൊ', | nji2:'ഞ്ഞി', | ||
dO:'ദോ', | nji3:'ഞ്ചി', | ||
dau:'ദൌ', | njii:'ഞീ', | ||
dou:'ദൌ', | njee:'ഞീ', | ||
daM:'ദം', | njee2:'ഞ്ചീ', | ||
daH:'ദഃ', | njI:'ഞീ', | ||
dh:'ധ്', | nju:'ഞു', | ||
dh2:'ധു്', | nju2:'ഞ്ഞു', | ||
dha:'ധ', | nju3:'ഞ്ചു', | ||
dhaa:'ധാ', | njuu:'ഞൂ', | ||
dhA:'ധാ', | njuu2:'ഞ്ഞൂ', | ||
dhi:'ധി', | njuu:'ഞ്ചൂ', | ||
dhii:'ധീ', | njoo:'ഞൂ', | ||
dhee:'ധീ', | njoo:'ഞ്ഞൂ', | ||
dhI:'ധീ', | njU:'ഞൂ', | ||
dhu:'ധു', | njR:'ഞൃ', | ||
dhuu:'ധൂ', | nje:'ഞെ', | ||
dhoo:'ധൂ', | nje2:'ഞ്ഞെ', | ||
dhU:'ധൂ', | nje3:'ഞ്ചെ', | ||
dhR:'ധൃ', | njE:'ഞേ', | ||
dhe:'ധെ', | njE2:'ഞ്ഞേ', | ||
dhE:'ധേ', | njae:'ഞേ', | ||
dhae:'ധേ', | njae2:'ഞ്ഞേ', | ||
dhai:'ധൈ', | njai:'ഞൈ', | ||
dhei:'ധൈ', | njai2:'ഞ്ഞൈ', | ||
dho:'ധൊ', | njei:'ഞ്ചൈ', | ||
dhO:'ധോ', | njei2:'ഞൈ', | ||
dhau:'ധൌ', | njei3:'ഞ്ഞൈ', | ||
dhau:'ധൌ', | njo:'ഞൊ', | ||
dhou:'ധൌ', | njo2:'ഞ്ഞോ', | ||
dhaM:'ധം', | njo:'ഞ്ചൊ', | ||
dhaH:'ധഃ', | njO:'ഞോ', | ||
n:'ന്', | njO2:'ഞ്ഞോ', | ||
n2:'ന്\u200D', | njO3:'ഞ്ചോ', | ||
n3:'നു്', | njau:'ഞൌ', | ||
n4:'ണ്\u200D', | njau3:'ഞ്ഞൌ', | ||
njou:'ഞൌ', | |||
njaM:'ഞം', | |||
njaH:'ഞഃ', | |||
t:'ട്', | |||
t2:'ടു്', | |||
t3:'ട്ട്', | |||
t4:'റ്റ്', | |||
t5:'ത്', | |||
t6:'ടി', | |||
ta:'ട', | |||
ta2:'റ്റ', | |||
ta3:'ത', | |||
ta4:'ഠ', | |||
taa:'ടാ', | |||
taa2:'റ്റാ', | |||
taa3:'താ', | |||
taa4:'ഠാ', | |||
taa5:'ട്ടാ', | |||
tA:'ടാ', | |||
tA2:'താ', | |||
tA3:'റ്റാ', | |||
tA4:'ഠാ', | |||
tA5:'ട്ടാ', | |||
ti:'ടി', | |||
ti2:'തി', | |||
ti3:'ട്ടി', | |||
ti4:'റ്റി', | |||
ti5:'ഠി', | |||
ti6:'ടൈ', | |||
ti7:'തൈ', | |||
tii:'ടീ', | |||
tee:'ടീ', | |||
tee2:'തീ', | |||
tee3:'റ്റീ', | |||
tea:'ടീ', | |||
tea2:'റ്റീ', | |||
tea3:'തീ', | |||
tI:'ടീ', | |||
tI2:'റ്റീ', | |||
tu:'ടു', | |||
tu2:'തു', | |||
tu3:'റ്റു', | |||
tu4:'ട്ടു', | |||
tuu:'ടൂ', | |||
tuu2:'തൂ', | |||
tuu3:'റ്റൂ', | |||
too:'ടൂ', | |||
too2:'റ്റൂ', | |||
too3:'തൂ', | |||
tU:'ടൂ', | |||
tU2:'റ്റൂ', | |||
tR:'ടൃ', | |||
te:'ടെ', | |||
te2:'തെ', | |||
te3:'റ്റെ', | |||
te4:'ഠെ', | |||
tE:'ടേ', | |||
tE2:'തേ', | |||
tae:'ടേ', | |||
tai:'ടൈ', | |||
tai2:'ടായ്', | |||
tei:'ടൈ', | |||
tei2:'ടെയ്', | |||
to:'ടൊ', | |||
to2:'ടു', | |||
to3:'റ്റു', | |||
tO:'ടോ', | |||
tau:'ടൌ', | |||
tou:'ടൌ', | |||
taM:'ടം', | |||
taM2:'തം', | |||
taH:'ടഃ', | |||
taH2:'തഃ', | |||
T:'ഠ്', | |||
T2:'ട്ടു്', | |||
Ta:'ഠ', | |||
Ta2:'ട', | |||
Ta3:'ത', | |||
Taa:'ഠാ', | |||
TA:'ഠാ', | |||
Ti:'ഠി', | |||
Ti2:'ടി', | |||
Ti3:'തി', | |||
Ti3:'തൈ', | |||
Tii:'ഠീ', | |||
Tee:'ഠീ', | |||
TI:'ഠീ', | |||
Tu:'ഠു', | |||
Tu2:'ടു', | |||
Tu3:'തു', | |||
Tuu:'ഠൂ', | |||
Too:'ഠൂ', | |||
Too2:'ടൂ', | |||
Too3:'തൂ', | |||
TU:'ഠൂ', | |||
TR:'ഠൃ', | |||
Te:'ഠെ', | |||
Te2:'ടെ', | |||
Te3:'തെ', | |||
TE:'ഠേ', | |||
TE2:'ടേ', | |||
Tae:'ഠേ', | |||
Tai:'ഠൈ', | |||
Tei:'ഠൈ', | |||
To:'ഠൊ', | |||
To2:'ടു', | |||
To3:'തൊ', | |||
TO:'ഠോ', | |||
TO2:'തോ', | |||
Tau:'ഠൌ', | |||
Tou:'ഠൌ', | |||
TaM:'ഠം', | |||
TaH:'ഠഃ', | |||
D:'ഡ്', | |||
D2:'ഡു്', | |||
D3:'ദ്', | |||
D4:'ഡി', | |||
Da:'ഡ', | |||
Da2:'ദ', | |||
Da3:'ഢ', | |||
Da4:'ഠ', | |||
Daa:'ഡാ', | |||
Daa2:'ദാ', | |||
DA:'ഡാ', | |||
DA3:'ദാ', | |||
Di:'ഡി', | |||
Dii:'ഡീ', | |||
Dee:'ഡീ', | |||
DI:'ഡീ', | |||
Du:'ഡു', | |||
Du2:'ദു', | |||
Du3:'ദുഃ', | |||
Duu:'ഡൂ', | |||
Doo:'ഡൂ', | |||
DU:'ഡൂ', | |||
DR:'ഡൃ', | |||
De:'ഡെ', | |||
De2:'ടെ', | |||
DE:'ഡേ', | |||
Dae:'ഡേ', | |||
Dai:'ഡൈ', | |||
Dei:'ഡൈ', | |||
Do:'ഡൊ', | |||
Do2:'ദൊ', | |||
DO:'ഡോ', | |||
Dau:'ഡൌ', | |||
Dou:'ഡൌ', | |||
DaM:'ഡം', | |||
DaH:'ഡഃ', | |||
Dh:'ഢ്', | |||
Dha:'ഢ', | |||
Dhaa:'ഢാ', | |||
DhA:'ഢാ', | |||
Dhi:'ഢി', | |||
Dhii:'ഢീ', | |||
Dhee:'ഢീ', | |||
DhI:'ഢീ', | |||
Dhu:'ഢു', | |||
Dhuu:'ഢൂ', | |||
Dhoo:'ഢൂ', | |||
DhU:'ഢൂ', | |||
DhR:'ഢൃ', | |||
Dhe:'ഢെ', | |||
DhE:'ഢേ', | |||
Dhae:'ഢേ', | |||
Dhai:'ഢൈ', | |||
Dhei:'ഢൈ', | |||
Dho:'ഢൊ', | |||
DhO:'ഢോ', | |||
Dhau:'ഢൌ', | |||
Dhau:'ഢൌ', | |||
Dhou:'ഢൌ', | |||
DhaM:'ഢം', | |||
DhaH:'ഢഃ', | |||
N:'ണ്', | |||
N2:'ണ്\u200D', | |||
N3:'ണു്', | |||
N4:'ന്\u200D', | |||
N5:'ണ്ണ്', | |||
N6:'ണ്ണു്', | |||
N7:'എന്\u200D', | |||
'N_':'ണ്\u200D', | |||
'N~':'ണ്\u200D', | |||
Na:'ണ', | |||
Na2:'ന', | |||
Na3:'നാ', | |||
Na4:'ണ്ണ', | |||
Naa:'ണാ', | |||
Naa2:'നാ', | |||
NA:'ണാ', | |||
Ni:'ണി', | |||
Ni2:'ണ്ണി', | |||
Nii:'ണീ', | |||
Nee:'ണീ', | |||
Nee2:'നീ', | |||
NI:'ണീ', | |||
Nu:'ണു', | |||
Nuu:'ണൂ', | |||
Nuu2:'നൂ', | |||
Noo:'ണൂ', | |||
Noo2:'നൂ', | |||
NU:'ണൂ', | |||
NR:'ണൃ', | |||
Ne:'ണെ', | |||
Nee:'ണേ', | |||
Nee2:'നീ', | |||
NE:'ണേ', | |||
Nae:'ണേ', | |||
Nai:'ണൈ', | |||
Nei:'ണൈ', | |||
No:'ണൊ', | |||
No2:'നോ', | |||
NO:'ണോ', | |||
NO2:'നോ', | |||
Nau:'ണൌ', | |||
Nou:'ണൌ', | |||
NaM:'ണം', | |||
NaH:'ണഃ', | |||
th:'ത്', | |||
th2:'തു്', | |||
th3:'ത്ത്', | |||
th4:'ത്തു്', | |||
tha:'ത', | |||
tha2:'ധ', | |||
tha3:'ഥ', | |||
tha4:'ത്ത', | |||
tha5:'ദ്ധ', | |||
thaa:'താ', | |||
thaa2:'ഥാ', | |||
thaa3:'ധാ', | |||
thaa4:'ത്താ', | |||
thA:'താ', | |||
thA2:'ഥാ', | |||
thA3:'ധാ', | |||
thA4:'ത്താ', | |||
thi:'തി', | |||
thi2:'ത്തി', | |||
thi3:'ഥി', | |||
thi4:'ധി', | |||
thi5:'ത്ഥി', | |||
thi6:'ദ്ധി', | |||
thi7:'തൈ', | |||
thii:'തീ', | |||
thii2:'ത്തീ', | |||
thii3:'ഥീ', | |||
thii4:'ധീ', | |||
thee:'തീ', | |||
thee2:'ഥീ', | |||
thI:'തീ', | |||
thu:'തു', | |||
thu2:'ത്തു', | |||
thuu:'തൂ', | |||
thuu2:'ഥൂ', | |||
thoo:'തൂ', | |||
thoo2:'ഥൂ', | |||
thoo3:'തോ', | |||
thU:'തൂ', | |||
thR:'തൃ', | |||
the:'തെ', | |||
thE:'തേ', | |||
thae:'തേ', | |||
thee:'തേ', | |||
thai:'തൈ', | |||
thei:'തൈ', | |||
thei2:'തെയ്', | |||
tho:'തൊ', | |||
tho2:'തോ', | |||
tho3:'ത്തൊ', | |||
thO:'തോ', | |||
thO2:'ത്തോ', | |||
thau:'തൌ', | |||
thou:'തൌ', | |||
thaM:'തം', | |||
thaM:'ത്തം', | |||
thaH:'തഃ', | |||
Th:'ഥ്', | |||
Th2:'ഥു്', | |||
Tha:'ഥ', | |||
Tha2:'ത', | |||
Thaa:'ഥാ', | |||
Thaa2:'താ', | |||
ThA:'ഥാ', | |||
Thi:'ഥി', | |||
Thi2:'തി', | |||
Thi3:'ത്ഥി', | |||
Thii:'ഥീ', | |||
Thee:'ഥീ', | |||
Thee2:'തീ', | |||
ThI:'ഥീ', | |||
Thu:'ഥു', | |||
Thu2:'തു', | |||
Thuu:'ഥൂ', | |||
Thuu2:'തൂ', | |||
Thoo:'ഥൂ', | |||
Thoo2:'തൂ', | |||
ThU:'ഥൂ', | |||
ThU2:'തൂ', | |||
ThR:'ഥൃ', | |||
ThR2:'തൃ', | |||
The:'ഥെ', | |||
The2:'ദി', | |||
The3:'തെ', | |||
ThE:'ഥേ', | |||
Thae:'ഥേ', | |||
Thai:'ഥൈ', | |||
Thai2:'തൈ', | |||
Thei:'ഥൈ', | |||
Thei2:'തെയ്', | |||
Tho:'ഥൊ', | |||
ThO:'ഥോ', | |||
Thau:'ഥൌ', | |||
Thou:'ഥൌ', | |||
ThaM:'ഥം', | |||
ThaH:'ഥഃ', | |||
TH:'ഥ്', | |||
TH2:'ഥു്', | |||
THa:'ഥ', | |||
THa2:'ത', | |||
THaa:'ഥാ', | |||
THaa2:'താ', | |||
THA:'ഥാ', | |||
THi:'ഥി', | |||
THi2:'തി', | |||
THi3:'ത്ഥി', | |||
THii:'ഥീ', | |||
THee:'ഥീ', | |||
THee2:'തീ', | |||
THI:'ഥീ', | |||
THu:'ഥു', | |||
THu2:'തു', | |||
THuu:'ഥൂ', | |||
THuu2:'തൂ', | |||
THoo:'ഥൂ', | |||
THoo2:'തൂ', | |||
THU:'ഥൂ', | |||
THU2:'തൂ', | |||
THR:'ഥൃ', | |||
THR2:'തൃ', | |||
THe:'ഥെ', | |||
THe2:'ദി', | |||
THe3:'തെ', | |||
THE:'ഥേ', | |||
THae:'ഥേ', | |||
THai:'ഥൈ', | |||
THai2:'തൈ', | |||
THei:'ഥൈ', | |||
THei3:'തെയ്', | |||
THo:'ഥൊ', | |||
THO:'ഥോ', | |||
THau:'ഥൌ', | |||
THou:'ഥൌ', | |||
THaM:'ഥം', | |||
THaH:'ഥഃ', | |||
tH:'ഥ്', | |||
tH2:'ഥു്', | |||
tHa:'ഠ', | |||
tHa2:'ത', | |||
tHaa:'ഠാ', | |||
tHaa2:'താ', | |||
tHA:'ഠാ', | |||
tHi:'ഠി', | |||
tHi2:'തി', | |||
tHi3:'ത്ഠി', | |||
tHii:'ഠീ', | |||
tHee:'ഠീ', | |||
tHee2:'തീ', | |||
tHI:'ഠീ', | |||
tHu:'ഥു', | |||
tHu2:'തു', | |||
tHuu:'ഥൂ', | |||
tHuu2:'തൂ', | |||
tHoo:'ഥൂ', | |||
tHoo2:'തൂ', | |||
tHU:'ഥൂ', | |||
tHU2:'തൂ', | |||
tHR:'ഥൃ', | |||
tHR2:'തൃ', | |||
tHe:'ഠെ', | |||
tHe2:'ദി', | |||
tHe3:'തെ', | |||
tHE:'ഠേ', | |||
tHae:'ഠേ', | |||
tHai:'ഠൈ', | |||
tHai2:'തൈ', | |||
tHei:'ഠൈ', | |||
tHei2:'തെയ്', | |||
tHo:'ഠൊ', | |||
tHO:'ഠോ', | |||
tHau:'ഠൌ', | |||
tHou:'ഠൌ', | |||
tHaM:'ഠം', | |||
tHaH:'ഠഃ', | |||
d:'ദ്', | |||
d2:'ദു്', | |||
d3:'ട്', | |||
d4:'ടു്', | |||
d5:'ഡി', | |||
d6:'ദ്ദ്', | |||
da:'ദ', | |||
da2:'ട', | |||
da3:'ഡ', | |||
daa:'ദാ', | |||
daa2:'ടാ', | |||
dA:'ദാ', | |||
dA2:'ടാ', | |||
di:'ദി', | |||
di2:'ടി', | |||
di3:'ധി', | |||
di4:'ഥി', | |||
di5:'ഡൈ', | |||
dii:'ദീ', | |||
dii2:'ടീ', | |||
dee:'ദീ', | |||
dee2:'ടീ', | |||
dI:'ദീ', | |||
dI2:'ടീ', | |||
du:'ദു', | |||
du2:'ടു', | |||
du3:'ദുഃ', | |||
du4:'തു', | |||
duu:'ദൂ', | |||
doo:'ദൂ', | |||
dU:'ദൂ', | |||
dR:'ദൃ', | |||
de:'ദെ', | |||
de2:'ടെ', | |||
de3:'തെ', | |||
dE:'ദേ', | |||
dE2:'തേ', | |||
dae:'ദേ', | |||
dai:'ദൈ', | |||
dai2:'ഡായ്', | |||
dei:'ദൈ', | |||
dei3:'ഡേയ്', | |||
'do':'ദൊ', | |||
dO:'ദോ', | |||
dau:'ദൌ', | |||
dou:'ദൌ', | |||
daM:'ദം', | |||
daH:'ദഃ', | |||
dh:'ധ്', | |||
dh2:'ധു്', | |||
dha:'ധ', | |||
dhaa:'ധാ', | |||
dhA:'ധാ', | |||
dhi:'ധി', | |||
dhii:'ധീ', | |||
dhee:'ധീ', | |||
dhI:'ധീ', | |||
dhu:'ധു', | |||
dhuu:'ധൂ', | |||
dhoo:'ധൂ', | |||
dhU:'ധൂ', | |||
dhR:'ധൃ', | |||
dhe:'ധെ', | |||
dhE:'ധേ', | |||
dhae:'ധേ', | |||
dhai:'ധൈ', | |||
dhei:'ധൈ', | |||
dho:'ധൊ', | |||
dhO:'ധോ', | |||
dhau:'ധൌ', | |||
dhau:'ധൌ', | |||
dhou:'ധൌ', | |||
dhaM:'ധം', | |||
dhaH:'ധഃ', | |||
n:'ന്', | |||
n2:'ന്\u200D', | |||
n3:'നു്', | |||
n4:'ണ്\u200D', | |||
n5:'ണ്', | n5:'ണ്', | ||
n6:'ന്ന്', | n6:'ന്ന്', | ||
Line 2,255: | Line 2,751: | ||
X:'എക്സ്' | X:'എക്സ്' | ||
}; | }; | ||
//=======================================================================Swanalekha Code Ends Here======================================================== | |||
//============================================================================Inscript==================================================================== | |||
var INSCRIPT={ | |||
a:'\u0D4B', | |||
b:'\u0D35', | |||
c:'\u0D2E', | |||
d:'\u0D4D', | |||
e:'\u0D3E', | |||
f:'\u0D3F', | |||
g:'\u0D41', | |||
h:'\u0D2A', | |||
i:'\u0D17', | |||
j:'\u0D30', | |||
k:'\u0D15', | |||
l:'\u0D24', | |||
m:'\u0D38', | |||
n:'\u0D32', | |||
o:'\u0D26', | |||
p:'\u0D1C', | |||
q:'\u0D57', | |||
r:'\u0D40', | |||
s:'\u0D47', | |||
t:'\u0D42', | |||
u:'\u0D39', | |||
v:'\u0D28', | |||
w:'\u0D48', | |||
x:'\u0D02', | |||
y:'\u0D2C', | |||
z:'\u0D46', | |||
A:'\u0D13', | |||
B:'\u0D34', | |||
C:'\u0D23', | |||
D:'\u0D05', | |||
E:'\u0D06', | |||
F:'\u0D07', | |||
G:'\u0D09', | |||
H:'\u0D2B', | |||
I:'\u0D18', | |||
J:'\u0D31', | |||
K:'\u0D16', | |||
L:'\u0D25', | |||
M:'\u0D36', | |||
N:'\u0D33', | |||
O:'\u0D27', | |||
P:'\u0D1D', | |||
Q:'\u0D14', | |||
R:'\u0D08', | |||
S:'\u0D0F', | |||
T:'\u0D0A', | |||
U:'\u0D19', | |||
V:'V', | |||
W:'\u0D10', | |||
X:'\u0D02', | |||
Y:'\u0D2D', | |||
Z:'\u0D0E', | |||
'1':'\u0D67', | |||
'2':'\u0D68', | |||
'3':'\u0D69', | |||
'4':'\u0D6A', | |||
'5':'\u0D6B', | |||
'6':'\u0D6C', | |||
'7':'\u0D6D', | |||
'8':'\u0D6E', | |||
'9':'\u0D6F', | |||
'0':'\u0D66', | |||
'`':'\u0D4A', | |||
'_':'\u0D03', | |||
'~':'\u0D12', | |||
'+':'\u0D0B', | |||
'=':'\u0D43', | |||
'[':'\u0D21', | |||
']':'\u200D', | |||
'{':'\u0D22', | |||
'}':'\u0D1E', | |||
':':'\u0D1B', | |||
';':'\u0D1A', | |||
'':'\u0D1A', | |||
'<':'\u0D37', | |||
'>':'\u200D', | |||
'/':'\u0D2F', | |||
'\"':'\u0D20', | |||
'\'':'\u0D1F', | |||
'\\':'\u200C' | |||
}; | |||
//==================================================================Inscript Code Ends Here=============================================================== | |||
function isToggleEvent(event){ | function isToggleEvent(event){ | ||
menuListener(); | |||
return false; | |||
}; | |||
}; | |||
function enable(){ | function enable(){ | ||
widget.onkeypress=keypressEnabled; | widget.onkeypress=keypressEnabled; | ||
widget.style.outline = 'dashed 1px | widget.style.outline = 'dashed 1px green'; | ||
}; | }; | ||
function disable(){ | |||
widget.onkeypress=keypressDisabled; | function disable(){ | ||
widget.style.outline = null; | widget.style.background='white'; | ||
widget.onkeypress=keypressDisabled; | |||
widget.style.outline = null; | |||
}; | |||
function menuListener(){ | |||
if(widget.aBound){ | |||
widget.aBound=false; | |||
disable(); | |||
} | |||
else{ | |||
var selected_index = document.getElementById("Input"+widget.id).selectedIndex; | |||
if(selected_index > 0) | |||
{ enable(); | |||
} | |||
else | |||
disable(); | |||
} | |||
} | |||
function keypressEnabled(event){ | |||
function | if (event == undefined) | ||
event = window.event; | |||
getWidgetSelectionStart(widget); | |||
kCode = event.keyCode || event.which; | |||
if (navigator.userAgent.indexOf("Firefox")!=-1) | |||
{ if(kCode==KeyEvent.DOM_VK_RIGHT) | |||
return true; } | |||
if(event.ctrlKey||event. altKey||event.metaKey){ | |||
return true; | |||
} | |||
switch(document.getElementById("Input"+widget.id).selectedIndex) | |||
{ | |||
//-----------------------------------------Mozhi--------------------------------------------- | |||
case 1:{ transliterateKey(event); //calling the Transilate Function | |||
return true;} break; | |||
//------------------------------------------------------------------------------------------- | |||
//-----------------------------------------Swanalekha--------------------------------------- | |||
case 2:{ | |||
if ( kCode == 8) { | |||
if(pattern.indexOf('a')>=0 || pattern.indexOf('A')>=0 || pattern.indexOf('e')>=0 || pattern.indexOf('E')>=0 || pattern.indexOf('i')>=0 || pattern.indexOf('I')>=0 || pattern.indexOf('o')>=0 || pattern.indexOf('O')>=0 || pattern.indexOf('u')>=0 || pattern.indexOf('U')>=0|| pattern.indexOf('1')>=0 || pattern.indexOf('2')>=0 || pattern.indexOf('3')>=0 || pattern.indexOf('4')>=0 || pattern.indexOf('5')>=0 || pattern.indexOf('6')>=0 || pattern.indexOf('7')>=0 || pattern.indexOf('8')>=0 || pattern.indexOf('9')>=0 ){ | if(pattern.indexOf('a')>=0 || pattern.indexOf('A')>=0 || pattern.indexOf('e')>=0 || pattern.indexOf('E')>=0 || pattern.indexOf('i')>=0 || pattern.indexOf('I')>=0 || pattern.indexOf('o')>=0 || pattern.indexOf('O')>=0 || pattern.indexOf('u')>=0 || pattern.indexOf('U')>=0|| pattern.indexOf('1')>=0 || pattern.indexOf('2')>=0 || pattern.indexOf('3')>=0 || pattern.indexOf('4')>=0 || pattern.indexOf('5')>=0 || pattern.indexOf('6')>=0 || pattern.indexOf('7')>=0 || pattern.indexOf('8')>=0 || pattern.indexOf('9')>=0 ){ | ||
pattern=pattern.replace('a',''); | pattern=pattern.replace('a',''); | ||
Line 2,321: | Line 2,928: | ||
} | } | ||
} | } | ||
if(event.ctrlKey||event. altKey||event.metaKey){ | |||
return true; | return true; | ||
} | } | ||
var char=String.fromCharCode(kCode ); | var char=String.fromCharCode(kCode); | ||
var pos=widget.selectionStart; | var pos=widget.selectionStart; | ||
if( kCode ==9){ /*Tab key*/ | if( kCode ==9){ /*Tab key*/ | ||
Line 2,333: | Line 2,940: | ||
} | } | ||
else{ | else{ | ||
if( | if(SWANALEKHA[pattern.substring(0, pattern.length-1)+tabCount]){ | ||
pattern=pattern.substring(0, pattern.length-1)+tabCount; | pattern=pattern.substring(0, pattern.length-1)+tabCount; | ||
} | } | ||
Line 2,350: | Line 2,957: | ||
tabCount=1; | tabCount=1; | ||
} | } | ||
var mal= | var mal=SWANALEKHA[pattern]; | ||
if(!mal) { | if(!mal) { | ||
pattern=char; | pattern=char; | ||
tabCount=1; | tabCount=1; | ||
patternStart=widget.selectionStart; | patternStart=widget.selectionStart; | ||
var mal= | var mal=SWANALEKHA[pattern]; | ||
} | } | ||
if(mal){ | if(mal){ | ||
var scrollTop = widget.scrollTop; | var scrollTop = widget.scrollTop; | ||
var cursorLoc = widget.selectionStart;var stepback=cursorLoc-patternStart; | var cursorLoc = widget.selectionStart;var stepback=cursorLoc-patternStart; | ||
widget.value= widget.value.substr(0,patternStart)+mal+widget.value.substr(widget.selectionEnd,widget.value.length); | widget.value= widget.value.substr(0,patternStart)+mal+widget.value.substr(widget.selectionEnd,widget.value.length); | ||
widget.scrollTop=scrollTop ; | widget.scrollTop=scrollTop ; | ||
widget.selectionStart = cursorLoc + mal.length - stepback ; | widget.selectionStart = cursorLoc + mal.length - stepback ; | ||
widget.selectionEnd = cursorLoc + mal.length - stepback; | widget.selectionEnd = cursorLoc + mal.length - stepback; | ||
return false; | return false; | ||
} | } | ||
if( kCode ==9){ | if( kCode ==9){ | ||
return false; | return false; | ||
} | } | ||
return true; | return true; } break; | ||
} | //------------------------------------------------------------------------------------------- | ||
//---------------------------------------Inscript------------------------------------------- | |||
if( | case 3:{ | ||
var char=String.fromCharCode(kCode ); | |||
return false; | var pos=widget.selectionStart; | ||
} | var stepback=0; | ||
return true; | if(!mal) { | ||
} | patternStart=widget.selectionStart; | ||
widget. | var mal=INSCRIPT[char]; | ||
disable(); | stepback=0; | ||
var | |||
if ( | } | ||
if(mal){ | |||
else if ( | if (isExplorer()) { | ||
var range = document.selection.createRange(); | |||
}; | range.moveStart("character", -stepback); | ||
range.text = mal; | |||
range.collapse(false); | |||
range.select(); | |||
} | |||
else{ | |||
var scrollTop = widget.scrollTop; | |||
var cursorLoc = widget.selectionStart; | |||
var stepback = cursorLoc-patternStart; | |||
widget.value= widget.value.substr(0,patternStart)+mal+widget.value.substr(widget.selectionEnd,widget.value.length); | |||
widget.scrollTop=scrollTop ; | |||
widget.selectionStart = cursorLoc + mal.length - stepback ; | |||
widget.selectionEnd = cursorLoc + mal.length - stepback; | |||
} | |||
return false; | |||
} | |||
if( kCode ==9){ | |||
return false; | |||
} | |||
return true; | |||
}break; | |||
default:{ | |||
// Do Nothing [:-)] | |||
} | |||
} | |||
} | |||
function keypressDisabled(event){ | |||
if(isToggleEvent(event)){ | |||
enable(); | |||
return false; | |||
} | |||
return true; | |||
} | |||
widget.allinoneBound=false; | |||
disable(); | |||
var menu = document.getElementById("Input"+widget.id); | |||
if (menu.addEventListener) menu.addEventListener("click", menuListener,false); | |||
else if (menu.attachEvent) menu.attachEvent("onclick", menuListener); | |||
} | |||
function addMenu(textBox) { | |||
if(textBox==null) return; | |||
try{ | |||
var se = document.createElement("select"); | |||
se.id = "Input"+textBox.id; | |||
se.options[0] = new Option("Input Method(None)","0"); | |||
se.options[1] = new Option("Mozhi","1"); | |||
se.options[2] = new Option("Swanalekha","2"); | |||
se.options[3] = new Option("Inscript","3"); | |||
textBox.parentNode.insertBefore(se,textBox); | |||
var p = document.createElement("br"); | |||
textBox.parentNode.insertBefore(p,textBox);return; | |||
} | |||
catch(ex){alert(ex);} | |||
} | |||
function bindAllTextElements() { | |||
try | |||
{ | |||
var ta=document.getElementsByTagName('textarea'); | |||
for(var i=0;i < ta.length;++i){ | |||
addMenu(ta[i]); | |||
bindAllinone(ta[i]); | |||
} | |||
var tb=document.getElementById('wpSummary'); | |||
if(tb){addMenu(tb); | |||
bindAllinone(tb); } | |||
var tb=document.getElementById('searchInput'); | |||
if(tb){ | |||
addMenu(tb); | |||
bindAllinone(tb); | |||
} | |||
var ifs = document.getElementsByTagName('iframe'); | |||
var len=ifs.length; | |||
for (var i=0;i < len; i++) { | |||
bindAllTextElements(ifs[i].contentDocument.documentElement); | |||
} | |||
} | |||
catch(ex) | |||
{ | |||
alert(ex); | |||
} | |||
}; | |||
function addLoadEvent(func) { | |||
if (window.addEventListener) { | |||
window.addEventListener("load", func, false); | |||
} | |||
else if (window.attachEvent) { | |||
window.attachEvent("onload", func); | |||
} | |||
} | |||
function getWidgetSelectionStart (widget) { | |||
if( document.selection ){ | |||
// The current selection | |||
var range = document.selection.createRange(); | |||
// We'll use this as a 'dummy' | |||
var stored_range = range.duplicate(); | |||
// Select all text | |||
stored_range.moveToElementText( widget ); | |||
// Now move 'dummy' end point to end point of original range | |||
stored_range.setEndPoint( 'EndToEnd', range ); | |||
// Now we can calculate start and end points | |||
widget.selectionStart = stored_range.text.length - range.text.length; | |||
widget.selectionEnd = widget.selectionStart + range.text.length; | |||
} | |||
} | |||
addLoadEvent(bindAllTextElements); | |||
/*<-----------------------------------------------------------------------------------3in1.js Code Ends Here-----------------------------------------------------------------------> | |||
/* |
Revision as of 10:32, 30 July 2010
/* Any JavaScript here will be loaded for all users on every page load. */ /*HERE STARTS THE WORKING-CODE OF "METABOXES"*/ /* Funcionament de la Plantilla:Metacaixa Implementat per: Usuari:Peleguer. Actualitzat per Joanjoc seguint les indicacions d'en Martorell */ function MetaCaixaInit(){ //S'executa al carregar-se la pàgina, si hi ha metacaixes, // s'assignen els esdeveniments als botons //alert("MetaCaixaInit"); var i=0 //Inicialitzem comptador de caixes for (i=0;i<=9;i++){ var vMc = document.getElementById("mc"+i); if (!vMc) break; //alert("MetaCaixaInit, trobada Metacaixa mc"+i); var j=1 //Inicialitzem comptador de botons dins de la caixa var vPsIni = 0 //Pestanya visible inicial for (j=1;j<=9;j++){ var vBt = document.getElementById("mc"+i+"bt"+j); if (!vBt) break; //alert("MetaCaixaInit, trobat botó mc"+i+"bt"+j); vBt.onclick = MetaCaixaMostraPestanya; //A cada botó assignem l'esdeveniment onclick //alert (vBt.className); if (vBt.className=="mcBotoSel") vPsIni=j; //Si tenim un botó seleccionat, en guardem l'index } //alert ("mc="+i+", ps="+j+", psini="+vPsIni ); if (vPsIni == 0) { //Si no tenim cap botó seleccionat, n'agafem un aleatòriament vPsIni = 1+Math.floor((j-1)*Math.random()) ; //alert ("Activant Pestanya a l'atzar; _mc"+i+"bt"+vPsIni +"_"); document.getElementById("mc"+i+"ps"+vPsIni).style.display = "block"; document.getElementById("mc"+i+"ps"+vPsIni).style.visibility = "visible"; document.getElementById("mc"+i+"bt"+vPsIni).className="mcBotoSel"; } } } function MetaCaixaMostraPestanya(){ //S'executa al clicar una pestanya, //aquella es fa visible i les altres s'oculten var vMcNom = this.id.substr(0,3); //A partir del nom del botó, deduïm el nom de la caixa var vIndex = this.id.substr(5,1); //I l'index var i=1 for (i=1;i<=9;i++){ //busquem totes les pestanyes d'aquella caixa //alert(vMcNom+"ps"+i); var vPsElem = document.getElementById(vMcNom+"ps"+i); if (!vPsElem) break; if (vIndex==i){ //Si és la pestanya bona la mostrem i canviem la classe de botó vPsElem.style.display = "block"; vPsElem.style.visibility = "visible"; document.getElementById(vMcNom+"bt"+i).className="mcBotoSel"; } else { //Sinó, l'ocultem i canviem la classe de botó vPsElem.style.display = "none"; vPsElem.style.visibility = "hidden"; document.getElementById(vMcNom+"bt"+i).className="mcBoto"; } } return false; //evitem la recàrrega de la pàgina } addOnloadHook(MetaCaixaInit); /*HERE FINISHES THE WORKING-CODE OF "METABOXES"*/ /*<----------------------------3in1.js Code Starts Here------------------------------------------>*/ /* * Implementation of Malayalam Inscript,Mozhi,and Swanlekha Schemes in Javascript. * Copyright 2010, Hrishikesh K B <hrishi.kb@gmail.com> * * Based on the swanalekha javascript code by Santhosh Thottingal and Nishan Naseer. * and the Mozhi javascript code by Peringz * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * * If you find any bugs or have any suggestions email: hrishi.kb@gmail.com */ var pattern=null; var tabCount=1; function bindAllinone(widget){ if(widget.aBound){ widget.aBound=false; disable(); return; } //===========================================================Mozhi======================================================================================== /* This script is a modified version of Alex benenson's cyrillic translitarator and this version was created by [[User:Peringz|Peringz]] */ var consonants = {"ക":"ക","ഖ":"ഖ","ഗ":"ഗ","ഘ":"ഘ","ങ":"ങ","ച":"ച","ഛ":"ഛ","ജ":"ജ","ഝ":"ഝ","ഞ":"ഞ","ട":"ട","ഠ":"ഠ","ഡ":"ഡ","ഢ":"ഢ","ണ":"ണ","ത":"ത","ഥ":"ഥ","ദ":"ദ","ധ":"ധ","ന":"ന","പ":"പ","ഫ":"ഫ","ബ":"ബ","ഭ":"ഭ","മ":"മ","യ":"യ","ര":"ര","ല":"ല","വ":"വ","ശ":"ശ","ഷ":"ഷ","സ":"സ","ഹ":"ഹ","ള":"ള","ഴ":"ഴ","റ":"റ","റ്റ":"റ്റ"}; var chillaksharam = {"ണ്":"ണ","ന്":"ന","ം":"മ","ര്":"ര","ല്":"ല","ള്":"ള","്\\u200D":""}; var vowels = '"്a":"","്e":"െ","്i":"ി","്o":"ൊ","്u":"ു","്A":"ാ","്E":"േ","്I":"ീ","്O":"ോ","്U":"ൂ","്Y":"ൈ","െe":"ീ","ൊo":"ൂ","ിi":"ീ","ിe":"ീ","ുu":"ൂ","ുo":"ൂ","്r":"്ര്",'; var roman = '"k":"ക്","ക്h":"ഖ്","g":"ഗ്","ഗ്h":"ഘ്","ന്g":"ങ്","c":"ക്\\u200D","ക്\\u200Dh":"ച്","ച്h":"ഛ്","j":"ജ്","ജ്h":"ഝ്","ന്j":"ഞ്","ന്h":"ഞ്","T":"ട്","ട്h":"ഠ്","D":"ഡ്","ഡ്h":"ഢ്","റ്റ്h":"ത്","ത്h":"ഥ്","d":"ദ്","ദ്h":"ധ്","p":"പ്","പ്h":"ഫ്","f":"ഫ്","b":"ബ്","ബ്h":"ഭ്","y":"യ്","v":"വ്","w":"വ്","z":"ശ്","S":"ശ്","സ്h":"ഷ്","s":"സ്","h":"ഹ്","ശ്h":"ഴ്","x":"ക്ഷ്","R":"റ്","t":"റ്റ്",'; var chill = '"N":"ണ്","n":"ന്","m":"ം","r":"ര്","l":"ല്","L":"ള്",'; var swaram = '"a":"അ","അa":"ആ","A":"ആ","e":"എ","E":"ഏ","എe":"ഈ","i":"ഇ","ഇi":"ഈ","ഇe":"ഈ","അi":"ഐ","I":"ഐ","o":"ഒ","ഒo":"ഊ","O":"ഓ","അu":"ഔ","ഒu":"ഔ","u":"ഉ","ഉu":"ഊ","U":"ഊ","H":"ഃ","റ്h":"ഋ","ര്^":"ഋ","ഋ^":"ൠ","ല്^":"ഌ","ഌ^":"ൡ",'; var numerals = '"1":"൧","2":"൨","3":"൩","4":"൪","5":"൫","6":"൬","7":"൭","8":"൮","9":"൯","0":"൦",'; var conjuncts = '"ന്t":"ന്റ്","ന്റ്h":"ന്ത്","ന്k":"ങ്ക്","ന്n":"ന്ന്","ണ്N":"ണ്ണ്","ള്L":"ള്ള്","ല്l":"ല്ല്","ംm":"മ്മ്","ന്m":"ന്മ്","ന്ന്g":"ങ്ങ്","ന്d":"ന്ദ്","ണ്m":"ണ്മ്","ല്p":"ല്പ്","ംp":"മ്പ്","റ്റ്t":"ട്ട്","ന്T":"ണ്ട്","ണ്T":"ണ്ട്","്ര്^":"ൃ","ന്c":"ന്\\u200D","ന്\\u200Dh":"ഞ്ച്","ണ്D":"ണ്ഡ്",'; var others = '"്L":"്ല്","~":"്\\u200C","്~":"്\\u200C","\\u200C~":"\\u200C","ം~":"മ്","ക്\\u200Dc":"ക്ക്\\u200D","ക്ക്\\u200Dh":"ച്ച്","q":"ക്യൂ",'; var caps = '"B":"ബ്ബ്","C":"ക്ക്\\u200D","F":"ഫ്","G":"ഗ്ഗ്","J":"ജ്ജ്","K":"ക്ക്","M":"മ്മ്","P":"പ്പ്","Q":"ക്യൂ","V":"വ്വ്","W":"വ്വ്","X":"ക്ഷ്","Y":"യ്യ്","Z":"ശ്ശ്",'; var ZWNJ = '"_":"\\u200C"'; // for compatibility with bookmarklets function cyr_translit(src) { return to_cyrillic(src); } var conversionHash = undefined; var maxcyrlength = 0; function getConversionHash() { if (conversionHash == undefined) { // TODO var opr = "{" + vowels + roman + chill + swaram + numerals + conjuncts + caps + others; for (var consonant in consonants) { opr += '"' + consonant + 'a":"' + consonant + 'ാ",'; opr += '"' + consonant + 'e":"' + consonant + 'േ",'; opr += '"' + consonant + 'i":"' + consonant + 'ൈ",'; opr += '"' + consonant + 'o":"' + consonant + 'ോ",'; opr += '"' + consonant + 'u":"' + consonant + 'ൗ",'; } for (var chk in chillaksharam) { opr += '"' + chk + 'a":"' + chillaksharam[chk] + '",'; opr += '"' + chk + 'e":"' + chillaksharam[chk] + 'െ",'; opr += '"' + chk + 'i":"' + chillaksharam[chk] + 'ി",'; opr += '"' + chk + 'o":"' + chillaksharam[chk] + 'ൊ",'; opr += '"' + chk + 'u":"' + chillaksharam[chk] + 'ു",'; opr += '"' + chk + 'A":"' + chillaksharam[chk] + 'ാ",'; opr += '"' + chk + 'E":"' + chillaksharam[chk] + 'േ",'; opr += '"' + chk + 'I":"' + chillaksharam[chk] + 'ീ",'; opr += '"' + chk + 'O":"' + chillaksharam[chk] + 'ോ",'; opr += '"' + chk + 'U":"' + chillaksharam[chk] + 'ൂ",'; opr += '"' + chk + 'Y":"' + chillaksharam[chk] + 'ൈ",'; opr += '"' + chk + 'r":"' + chillaksharam[chk] + '്ര്",'; opr += '"' + chk + 'y":"' + chillaksharam[chk] + '്യ്",'; opr += '"' + chk + 'v":"' + chillaksharam[chk] + '്വ്",'; opr += '"' + chk + 'w":"' + chillaksharam[chk] + '്വ്",'; opr += '"' + chk + '~":"' + chillaksharam[chk] + '്\\u200C",'; } opr += ZWNJ + "}"; // var tb = document.getElementById('wpTextbox1'); // tb.value = opr; conversionHash = eval("("+opr+")"); maxcyrlength=6; } return conversionHash; } function to_cyrillic(src, output, chunks) { if (src == undefined || src == "" || src == null) return src; if (output == undefined) output = new String(); var hash = getConversionHash(); var location = 0; while (location < src.length) { var len = Math.min(maxcyrlength, src.length - location); var arr = undefined; var sub; while (len > 0) { sub = src.substr(location, len); arr = hash[sub]; if (arr != undefined) break; else len--; } // need this for translit on the fly if (chunks != undefined) chunks[chunks.length] = sub; if (arr == undefined) { output += sub; location ++; } else { // case analysis var newChar = arr; if (sub.toLowerCase() == sub.toUpperCase() && arr.length > 1 && arr[1] && (newChar.toUpperCase() != newChar.toLowerCase())) { // need translit hash to determine if previous character (and possibly the one before it) // were converted and are in upper case // set prevDud to true previous is not a translated character or simply a blank // set prevCap to true if previous was translated and was upper case var prevCh = output.length == 0 ? null : output.substr(output.length - 1, 1); var prevDud = !prevCh || !getTranslitString(prevCh); var prevCap = (!prevDud && prevCh == prevCh.toUpperCase()); // sub is caseless but result isn't. case will depend on lookbehind and lookahead if (prevDud || !prevCap) { output += newChar.toLowerCase(); prevCap = false; } else { var next = " "; if (location + len < src.length) next = src.substr(location + len, 1); if (next != next.toUpperCase() && next == next.toLowerCase() ) { //next is lowercase (and not caseless) output += newChar.toLowerCase(); } else if (next == next.toUpperCase() && next != next.toLowerCase() ) { // next is uppercase (and not caseless) output += newChar.toUpperCase(); } else { // next is caseless. output case determined by the case of output[length - 2] var pprevCh = output.length == 1 ? null : output.substr(output.length - 2, 1); var pprevDud = !pprevCh || !getTranslitString(pprevCh); if (!pprevDud && (pprevCh == pprevCh.toUpperCase())) { //pre-prev is in upper case. output is also uppercase output += newChar.toUpperCase(); } else { output += newChar.toLowerCase(); } } } } else if ((sub.toLowerCase() == sub.toUpperCase()) && (arr.length < 2 || !arr[1])) { // literal treatment of newChar output += newChar; } else if (sub != sub.toLowerCase()) { // sub not all-lowercase output += newChar.toUpperCase(); } else { // sub is lowercase output += newChar.toLowerCase(); } location += len; } } return output; } function convertIt(src,converter){ var resultbuffer=""; for(var i=0;i<src.length;i++){ resultbuffer=converter(resultbuffer+src[i]); } return converter(resultbuffer); } var translitHash = undefined; function initTranslit() { if (translitHash == undefined) { translitHash = new Array(); for (var i = 0; i < conversionHash.length; i++) { var ch = conversionHash[i][1]; // if the translit string is not caseless, convert cyr string to upper case // otherwise maintain its case if (conversionHash[i][0].toUpperCase() != conversionHash[i][0].toLowerCase()) ch = ch.toUpperCase(); if (translitHash[ch] == undefined) translitHash[ch] = conversionHash[i][0]; } } } //-- translit on-the-fly -- function replaceValue(node, value, stepback) { if (stepback == undefined) stepback = 0; if (isExplorer()) { var range = document.selection.createRange(); range.moveStart("character", -stepback); range.text = value; range.collapse(false); range.select(); } else { var scrollTop = node.scrollTop; var cursorLoc = node.selectionStart; node.value = node.value.substring(0, node.selectionStart - stepback) + value + node.value.substring(node.selectionEnd, node.value.length); node.scrollTop = scrollTop; node.selectionStart = cursorLoc + value.length - stepback; node.selectionEnd = cursorLoc + value.length - stepback; } } // compare positions function positionIsEqual(other) { if (isExplorer()) return this.position.isEqual(other.position); else return this.position == other.position; } function Position(node) { if (node.selectionStart != undefined) this.position = node.selectionStart; else if (document.selection && document.selection.createRange()) this.position = document.selection.createRange(); this.isEqual = positionIsEqual; } function resetState() { this.position = new Position(this.node); this.transBuffer = ""; this.cyrBuffer = ""; } function StateObject(node) { this.node = node; this.reset = resetState; this.cyrBuffer = ""; this.transBuffer = ""; this.position = new Position(node); } var stateHash = new Array(); function isExplorer() { return (document.selection != undefined && document.selection.createRange().isEqual != undefined); } function pressedKey(event) { if (isExplorer()) return event.keyCode; else return event.which; } function transliterateKey(event) { /* if ((event.keyCode == 255 && event.charCode > 0) || event.keyCode == 8) { return; } */ if (event == undefined) event = window.event; var node = null; if (event.target) { node = event.target; } else if (event.srcElement) { node = event.srcElement; } // initialize state var state = stateHash[node]; if (state == null) { state = new StateObject(node); stateHash[node] = state; } if ( (pressedKey(event) > 20) && !event.ctrlKey && !event.altKey && !event.metaKey) { var c = String.fromCharCode(pressedKey(event)); // process input var result = process_translit(state, c); // finish up if (c != result.out || result.replace != 0) { if (isExplorer()) event.returnValue = false; else event.preventDefault(); replaceValue(node, result.out, result.replace); state.position = new Position(node); } } } function TranslitResult() { this.out = ""; this.replace = 0; } function process_translit(state, c) { // reset state if position changed if (!state.position.isEqual(new Position(state.node))) state.reset(); var result = new TranslitResult(); // initial backbuffer. Add to it as characters are converted var backbuffer = getBackBuffer(state.node, state.cyrBuffer.length, 2); var chunks = new Array(); state.transBuffer = state.transBuffer+ c var str = to_cyrillic(state.cyrBuffer+c, backbuffer, chunks); // remove backbuffer from output str = str.substr(backbuffer.length); result.out = str; /* str is now left alone - it has the output matching contents of chunks and will be used to reinitialize backbuffers, along with chunks and state.transBuffer */ // get the difference between state.cyrBuffer and output for (var i = 0; i < Math.min(state.cyrBuffer.length, result.out.length); i++) { if (state.cyrBuffer.substr(i, 1) != result.out.substr(i, 1)) { result.replace = state.cyrBuffer.length - i; result.out = result.out.substr(i); break; } } if (result.replace == 0) { if(result.out.length<state.cyrBuffer.length) result.replace=state.cyrBuffer.length- result.out.length; result.out = result.out.substr(Math.min(state.cyrBuffer.length, result.out.length)); // result.out+="\u0008" } // update state: backbuffer, bufferArray if (chunks.length > 0 && chunks[chunks.length - 1] == result.out.substr(result.out.length - 1)) { // no convertion took place, reset state state.reset(); } else { while (state.transBuffer.length > maxcyrlength) { state.transBuffer = state.transBuffer.substr(chunks[0].length); chunks.shift(); str = str.substr(1); } state.cyrBuffer = str; } return result; } function getBackBuffer(node, offset, count) { if (isExplorer()) { //.tagName.toUpperCase() == "EDITOR") { var range = document.selection.createRange(); range.moveStart("character", -offset); var result = range.text.substr(-count); if (!result) result = ""; return result; } else { return node.value.substring(0, node.selectionStart - offset).substr(-count); } } // need this for bookmarklets function getSelectedNode() { if (document.activeElement) return document.activeElement; else if (window.getSelection && window.getSelection() && window.getSelection().rangeCount > 0) { var range = window.getSelection().getRangeAt(0); if (range.startContainer && range.startContainer.childNodes && range.startContainer.childNodes.length > range.startOffset) return range.startContainer.childNodes[range.startOffset] } return null; } function toggleCyrMode() { var node = getSelectedNode(); if (node) { if (stateHash[node]) { if (removeKeyEventListener(node)) delete stateHash[node]; } else { if (addKeyEventListener(node)) stateHash[node] = new StateObject(node); } } } function addKeyEventListener(node) { if (node.addEventListener) node.addEventListener("keypress", transliterateKey, false); else if (node.attachEvent) node.attachEvent("onkeypress", transliterateKey); else return false; return true; } function removeKeyEventListener(node) { if (node.removeEventListener) node.removeEventListener("keypress", transliterateKey, false); else if (node.detachEvent) node.detachEvent("onkeypress", transliterateKey); else return false; return true; } function getSelectedText() { if (isExplorer()) { return document.selection.createRange().text; } else { var node = getSelectedNode(); if (node && node.value && node.selectionStart != undefined && node.selectionEnd != undefined) return node.value.substring(node.selectionStart, node.selectionEnd); } return ""; } //==============================================================================Mozhi Code Ends Here====================================================== //==============================================================================Swanalekha================================================================ var SWANALEKHA={ a:'അ', a2:'ആ', a3:'എ', aa:'ആ', A2:'ആ', A3:'എ', i:'ഇ', i2:'ഈ', i3:'ഐ', ii:'ഈ', I:'ഈ', I2:'ഐ', ee:'ഈ', ee2:'ഏ', u:'ഉ', u2:'ഊ', u3:'യു', uu:'ഊ', oo:'ഊ', U:'ഊ', RR:'ഋ', rr:'ഋ', e:'എ', e2:'ഇ', E:'ഏ', E2:'ഇ', ae:'ഏ', ai:'ഐ', ei:'ഐ', o:'ഒ', O:'ഓ', au:'ഔ', ou:'ഔ', aH:'അഃ', '~':'\u200C', '_':'\u200C', '^':'്', '@':'@', '@a':'@a', '@0':'൦', '@1':'൧', '@2':'൨', '@3':'൩', '@4':'൪', '@5':'൫', '@6':'൬', '@7':'൭', '@8':'൮', '@9':'൯', '@aa':'ാ', '@A':'ാ', '@i':'ി', '@ii':'ീ', '@I':'ീ', '@ee':'ീ', '@u':'ു', '@uu':'ൂ', '@U':'ൂ', '@oo':'ൂ', '@R':'ൃ', '@e':'െ', '@E':'േ', '@ae':'േ', '@o':'ൊ', '@O':'ോ', '@ai':'ൈ', '@ei':'ൈ', '@ou':'ൌ', '@ou2':'ൗ', '@au':'ൌ', '@au2':'ൗ', k:'ക്', k2:'കു്', k3:'ക്\u200D', 'k~':'ക്\u200D', 'k_':'ക്\u200D', 'c~':'ക്\u200D', 'c_':'ക്\u200D', c:'ക്', c2:'കു്', k3:'ക്\u200D', k4:'ക്ക്', k5:'ക്കു്', k6:'കെ', ck:'ക്ക്', ka:'ക', ca:'ക', ca2:'കാ', ca3:'കേ', ka2:'ഗ', ka3:'ഖ', ka4:'ഘ', kaa:'കാ', kaa2:'ഗാ', caa:'കാ', kA:'കാ', cA:'കാ', ki:'കി', ki2:'ഗി', ki2:'ഘി', ki3:'ഖി', ki4:'കൈ', ci:'കി', ci2:'സി', ci3:'സൈ', kii:'കീ', kee:'കീ', cee:'കീ', kI:'കീ', cI:'കീ', ku:'കു', ku2:'കൂ', cu:'കു', kuu:'കൂ', cuu:'കൂ', coo:'കൂ', koo:'കൂ', koo2:'കോ', kU:'കൂ', cU:'കൂ', kR:'കൃ', cR:'കൃ', ke:'കെ', ce:'കെ', ce:'സ്', kE:'കേ', cE:'കേ', kae:'കേ', cae:'കേ', kai:'കൈ', cai:'കൈ', kai2:'കയ്', kei:'കൈ', cei:'കൈ', kei:'കെയ്', ko:'കൊ', co:'കൊ', kO:'കോ', cO:'കോ', kau:'കൌ', cau:'കൌ', kou:'കൌ', cou:'കൌ', kaM:'കം', kaH:'കഃ', kh:'ഖ്', kh2:'ഖു്', kh:'ഘ്', kh:'ഘു്', kha:'ഖ', kha2:'ക്ക', kha3:'ഘ', khaa:'ഖാ', khA:'ഖാ', khi:'ഖി', khi2:'ക്കി', khii:'ഖീ', khee:'ഖീ', khI:'ഖീ', khu:'ഖു', khu2:'ഘു', khuu:'ഖൂ', khoo:'ഖൂ', khU:'ഖൂ', khR:'ഖൃ', khe:'ഖെ', khE:'ഖേ', khae:'ഖേ', khai:'ഖൈ', khei:'ഖൈ', kho:'ഖൊ', khO:'ഖോ', khau:'ഖൌ', khou:'ഖൌ', khaM:'ഖം', khaH:'ഖഃ', K:'ഖ്', K2:'ഖു്', K3:'കെ', Ka:'ഖ', Ka2:'ക', Ka3:'ക്ക', Kaa:'ഖാ', KA:'ഖാ', Ki:'ഖി', Ki2:'കി', Kii:'ഖീ', Kee:'ഖീ', Kee2:'കീ', KI:'ഖ', Ku:'ഖു', Ku2:'കു', Kuu:'ഖൂ', Kuu3:'കൂ', Koo:'ഖൂ', Koo2:'കൂ', Koo3:'കോ', KU:'ഖൂ', KR:'ഖൃ', Ke:'ഖെ', Ke2:'കെ', KE:'ഖേ', Kae:'ഖേ', Kai:'ഖൈ', Kei:'ഖൈ', Ko:'ഖൊ', Ko2:'കൊ', Ko3:'കോ', KO:'ഖോ', Kau:'ഖൌ', Kou:'ഖൌ', KaM:'ഖം', KaH:'ഖഃ', g:'ഗ്', g2:'ഗു്', g3:'ജി', ga:'ഗ', ga2:'ജ', ga3:'ക', ga4:'ഖ', gaa:'ഗാ', gA:'ഗാ', gi:'ഗി', gi2:'കി', gi3:'ജി', gii:'ഗീ', gee:'ഗീ', gI:'ഗീ', gu:'ഗു', guu:'ഗൂ', goo:'ഗൂ', goo2:'ഗോ', gU:'ഗൂ', gR:'ഗൃ', ge:'ഗെ', gE:'ഗേ', gae:'ഗേ', gai:'ഗൈ', gei:'ഗൈ', go:'ഗൊ', go2:'ഗോ', gO:'ഗോ', gau:'ഗൌ', gou:'ഗൌ', gaM:'ഗം', gaH:'ഗഃ', gh:'ഘ്', gh2:'ഘു്', gha:'ഘ', gha2:'ഖ', ghaa:'ഘാ', ghA:'ഘാ', ghi:'ഘി', ghii:'ഘീ', ghee:'ഘീ', ghI:'ഘീ', ghu:'ഘു', ghuu:'ഘൂ', ghoo:'ഘൂ', ghU:'ഘൂ', ghR:'ഘൃ', ghe:'ഘെ', ghE:'ഘേ', ghae:'ഘേ', ghai:'ഘൈ', ghei:'ഘൈ', gho:'ഘൊ', ghO:'ഘോ', ghau:'ഘൌ', ghou:'ഘൌ', ghaM:'ഘം', ghaH:'ഘഃ', G:'ഘ്', G2:'ഘു്', G3:'ജി', G4:'ഗ്ഗി', Ga:'ഘ', Ga2:'ഗ', Ga3:'ഗ്ഗ', Ga4:'ജ', Gaa:'ഘാ', Gaa2:'ഗ്ഗാ', GA:'ഘാ', GA2:'ഗ്ഗാ', Gi:'ഘി', Gi2:'ഗ്ഗി', Gii:'ഘീ', Gii:'ഗ്ഗീ', Gee:'ഘീ', Gee2:'ഗ്ഗീ', GI:'ഘീ', GI2:'ഗ്ഗീ', GI3:'ഗ്ഗി', Gu:'ഘു', Gu2:'ഗു', Gu3:'ഗ്ഗു', Guu:'ഘൂ', Guu2:'ഗ്ഗൂ', Goo:'ഘൂ', Goo2:'ഗ്ഗൂ', GU:'ഘൂ', GU2:'ഗ്ഗൂ', GR:'ഘൃ', GR2:'ഗ്ഗൃ', Ge:'ഘെ', Ge2:'ഗെ', Ge3:'ഗ്ഗെ', Ge4:'ജെ', GE:'ഘേ', GE2:'ഗ്ഗേ', Gae:'ഘേ', Gae2:'ഗ്ഗേ', Gai:'ഘൈ', Gai2:'ഗയ്', Gai3:'ഗെയ്', Gai4:'ഗ്ഗൈ', Gei5:'ഘൈ', Gei6:'ഗ്ഗൈ', Go:'ഘൊ', Go2:'ഗോ', Go3:'ഗൊ', Go4:'ഗ്ഗൊ', Goo:'ഘോ', Goo2:'ഗ്ഗോ', GO:'ഘോ', Gau:'ഘൌ', Gou:'ഘൌ', GaM:'ഘം', GaH:'ഘഃ', ng:'ങ്ങ്', ng2:'ങ്ങു്', ng3:'ങ്', ng4:'ങു്', Nga:'ങ', Nga2:'ങ്ങ', Ngaa:'ങാ', NgA:'ങാ', Ngi:'ങി', Ngii:'ങീ', Ngee:'ങീ', Ngu:'ങു', Nguu:'ങൂ', Ngoo:'ങൂ', NgR:'ങൃ', Nge:'ങെ', NgE:'ങേ', Ngai:'ങൈ', Ngei:'ങൈ', Ngo:'ങൊ', NgO:'ങോ', Ngau:'ങൌ', Ngou:'ങൌ', NgaH:'ങഃ', nga:'ങ്ങ', nga2:'ങ', ngaa:'ങ്ങാ', ngaa2:'ങാ', ngA:'ങ്ങാ', ngA:'ങാ', ngi:'ങ്ങി', ngi2:'ങി', ngii:'ങ്ങീ', ngii2:'ങീ', ngee:'ങ്ങീ', ngee2:'ങീ', ngI:'ങ്ങീ', ngI:'ങീ', ngu:'ങ്ങു', ngu2:'ങു', nguu:'ങ്ങൂ', nguu2:'ങൂ', ngoo:'ങ്ങൂ', ngoo2:'ങൂ', ngU:'ങൂ', ngU2:'ങ്ങൂ', ngR:'ങ്ങൃ', ngR2:'ങൃ', nge:'ങ്ങെ', nge2:'ങെ', ngE:'ങ്ങേ', ngae:'ങ്ങേ', ngE2:'ങേ', ngae2:'ങേ', ngai:'ങ്ങൈ', ngai2:'ങൈ', nge:'ങ്ങൈ', ngei:'ങൈ', ngo:'ങ്ങൊ', ngo2:'ങൊ', ngO:'ങ്ങോ', ngO2:'ങോ', ngau:'ങ്ങൌ', ngou:'ങൌ', ngou2:'ങൌ', ngaM:'ങ്ങം', ngaM2:'ങം', c:'സി', C:'സി', ch:'ച്', ch2:'ചു്', ch3:'ച്ച്', ch4:'ച്ചു്', ch5:'ക്ക്', ch6:'ക്കു്', cha:'ച', cha2:'ച്ച', cha3:'ച്ഛ', chaa:'ചാ', chA:'ചാ', chi:'ചി', chi2:'ച്ചി', chi3:'ചൈ', chii:'ചീ', chee:'ചീ', chee2:'ച്ചീ', chI:'ചീ', chu:'ചു', chu2:'ച്യു', chuu:'ചൂ', chuu2:'ച്ചൂ', choo:'ചൂ', choo2:'ച്ചൂ', choo3:'ചോ', chU:'ചൂ', chR:'ചൃ', che:'ചെ', che2:'ച്ചെ', chE:'ചേ', chae:'ചേ', chai:'ചൈ', chai2:'ചായ്', chei:'ചൈ', cho:'ചൊ', cho2:'ചോ', chO:'ചോ', chau:'ചൌ', chou:'ചൌ', chaM:'ചം', chaH:'ചഃ', Ch:'ഛ്', Cha:'ഛ', Cha2:'ച', Cha3:'ച്ച', Chaa:'ഛാ', ChA:'ഛാ', Chi:'ഛി', Chi2:'ചി', Chii:'ഛീ', Chee:'ഛീ', ChI:'ഛീ', Chu:'ഛു', Chu2:'ചു', Chuu:'ഛൂ', Choo:'ഛൂ', ChU:'ഛൂ', ChR:'ഛൃ', Che:'ഛെ', ChE:'ഛേ', Chae:'ഛേ', Chai:'ഛൈ', Chei:'ഛൈ', Cho:'ഛൊ', ChO:'ഛോ', Chau:'ഛൌ', Chou:'ഛൌ', ChaM:'ഛം', ChaH:'ഛഃ', chh:'ഛ്', chha:'ഛ', chha2:'ച്ച', chhaa:'ഛാ', chhA:'ഛാ', chhi:'ഛി', chhii:'ഛീ', chhee:'ഛീ', chhI:'ഛീ', chhu:'ഛു', chhuu:'ഛൂ', chhoo:'ഛൂ', chhU:'ഛൂ', chhR:'ഛൃ', chhe:'ഛെ', chhE:'ഛേ', chhae:'ഛേ', chhai:'ഛൈ', chhei:'ഛൈ', chho:'ഛൊ', chhO:'ഛോ', chhau:'ഛൌ', chhou:'ഛൌ', chhaM:'ഛം', chhaH:'ഛഃ', j:'ജ്', j2:'ജു്', j3:'ജെ', ja:'ജ', ja2:'ജെ', jaa:'ജാ', jA:'ജാ', ji:'ജി', ji2:'ജൈ', jii:'ജീ', jee:'ജീ', jI:'ജീ', ju:'ജു', juu:'ജൂ', joo:'ജൂ', jU:'ജൂ', jR:'ജൃ', je:'ജെ', je2:'ജീ', jE:'ജേ', jae:'ജേ', jai:'ജൈ', jai2:'ജയ്', jei:'ജൈ', jo:'ജൊ', jO:'ജോ', jau:'ജൌ', jou:'ജൌ', jaM:'ജം', jaH:'ജഃ', jh:'ഝ്', jha:'ഝ', jhaa:'ഝാ', jhA:'ഝാ', jhi:'ഝി', jhii:'ഝീ', jhee:'ഝീ', jhI:'ഝീ', jhu:'ഝു', jhuu:'ഝൂ', jhoo:'ഝൂ', jhU:'ഝൂ', jhR:'ഝൃ', jhe:'ഝെ', jhE:'ഝേ', jhae:'ഝേ', jhai:'ഝൈ', jhei:'ഝൈ', jho:'ഝൊ', jhoo:'ഝോ', jhO:'ഝോ', jhau:'ഝൌ', jhou:'ഝൌ', jhaM:'ഝം', jhaH:'ഝഃ', J:'ഝ്', J2:'ജെ', Ja:'ഝ', Ja2:'ജ', Ja3:'ജെ', Jaa:'ഝാ', JA:'ഝാ', Ji:'ഝി', Ji2:'ജി', Ji3:'ജൈ', Jii:'ഝീ', Jee:'ഝീ', Jee:'ജീ', JI:'ഝീ', Ju:'ഝു', Ju:'ജു', Juu:'ഝൂ', Juu2:'ജൂ', Joo:'ഝൂ', Joo:'ജൂ', JU:'ഝൂ', JU2:'ജെ.യു.', JR:'ഝൃ', JR2:'ജെ.ആര്', Je:'ഝെ', JE:'ഝേ', Jae:'ഝേ', Jai:'ഝൈ', Jai2:'ജയ്', Jei:'ഝൈ', Jo:'ഝൊ', Jo2:'ജോ', Jo3:'ജൊ', Joo:'ഝോ', JO:'ഝോ', Jau:'ഝൌ', Jou:'ഝൌ', JaM:'ഝം', JaH:'ഝഃ', nj:'ഞ്', nj2:'ഞ്ഞ്', nj3:'ഞ്ഞു്', nja:'ഞ', nja2:'ഞ്ച', nja3:'ഞ്ഞ', njaa:'ഞാ', njaa2:'ഞ്ചാ', njA:'ഞാ', nji:'ഞി', nji2:'ഞ്ഞി', nji3:'ഞ്ചി', njii:'ഞീ', njee:'ഞീ', njee2:'ഞ്ചീ', njI:'ഞീ', nju:'ഞു', nju2:'ഞ്ഞു', nju3:'ഞ്ചു', njuu:'ഞൂ', njuu2:'ഞ്ഞൂ', njuu:'ഞ്ചൂ', njoo:'ഞൂ', njoo:'ഞ്ഞൂ', njU:'ഞൂ', njR:'ഞൃ', nje:'ഞെ', nje2:'ഞ്ഞെ', nje3:'ഞ്ചെ', njE:'ഞേ', njE2:'ഞ്ഞേ', njae:'ഞേ', njae2:'ഞ്ഞേ', njai:'ഞൈ', njai2:'ഞ്ഞൈ', njei:'ഞ്ചൈ', njei2:'ഞൈ', njei3:'ഞ്ഞൈ', njo:'ഞൊ', njo2:'ഞ്ഞോ', njo:'ഞ്ചൊ', njO:'ഞോ', njO2:'ഞ്ഞോ', njO3:'ഞ്ചോ', njau:'ഞൌ', njau3:'ഞ്ഞൌ', njou:'ഞൌ', njaM:'ഞം', njaH:'ഞഃ', t:'ട്', t2:'ടു്', t3:'ട്ട്', t4:'റ്റ്', t5:'ത്', t6:'ടി', ta:'ട', ta2:'റ്റ', ta3:'ത', ta4:'ഠ', taa:'ടാ', taa2:'റ്റാ', taa3:'താ', taa4:'ഠാ', taa5:'ട്ടാ', tA:'ടാ', tA2:'താ', tA3:'റ്റാ', tA4:'ഠാ', tA5:'ട്ടാ', ti:'ടി', ti2:'തി', ti3:'ട്ടി', ti4:'റ്റി', ti5:'ഠി', ti6:'ടൈ', ti7:'തൈ', tii:'ടീ', tee:'ടീ', tee2:'തീ', tee3:'റ്റീ', tea:'ടീ', tea2:'റ്റീ', tea3:'തീ', tI:'ടീ', tI2:'റ്റീ', tu:'ടു', tu2:'തു', tu3:'റ്റു', tu4:'ട്ടു', tuu:'ടൂ', tuu2:'തൂ', tuu3:'റ്റൂ', too:'ടൂ', too2:'റ്റൂ', too3:'തൂ', tU:'ടൂ', tU2:'റ്റൂ', tR:'ടൃ', te:'ടെ', te2:'തെ', te3:'റ്റെ', te4:'ഠെ', tE:'ടേ', tE2:'തേ', tae:'ടേ', tai:'ടൈ', tai2:'ടായ്', tei:'ടൈ', tei2:'ടെയ്', to:'ടൊ', to2:'ടു', to3:'റ്റു', tO:'ടോ', tau:'ടൌ', tou:'ടൌ', taM:'ടം', taM2:'തം', taH:'ടഃ', taH2:'തഃ', T:'ഠ്', T2:'ട്ടു്', Ta:'ഠ', Ta2:'ട', Ta3:'ത', Taa:'ഠാ', TA:'ഠാ', Ti:'ഠി', Ti2:'ടി', Ti3:'തി', Ti3:'തൈ', Tii:'ഠീ', Tee:'ഠീ', TI:'ഠീ', Tu:'ഠു', Tu2:'ടു', Tu3:'തു', Tuu:'ഠൂ', Too:'ഠൂ', Too2:'ടൂ', Too3:'തൂ', TU:'ഠൂ', TR:'ഠൃ', Te:'ഠെ', Te2:'ടെ', Te3:'തെ', TE:'ഠേ', TE2:'ടേ', Tae:'ഠേ', Tai:'ഠൈ', Tei:'ഠൈ', To:'ഠൊ', To2:'ടു', To3:'തൊ', TO:'ഠോ', TO2:'തോ', Tau:'ഠൌ', Tou:'ഠൌ', TaM:'ഠം', TaH:'ഠഃ', D:'ഡ്', D2:'ഡു്', D3:'ദ്', D4:'ഡി', Da:'ഡ', Da2:'ദ', Da3:'ഢ', Da4:'ഠ', Daa:'ഡാ', Daa2:'ദാ', DA:'ഡാ', DA3:'ദാ', Di:'ഡി', Dii:'ഡീ', Dee:'ഡീ', DI:'ഡീ', Du:'ഡു', Du2:'ദു', Du3:'ദുഃ', Duu:'ഡൂ', Doo:'ഡൂ', DU:'ഡൂ', DR:'ഡൃ', De:'ഡെ', De2:'ടെ', DE:'ഡേ', Dae:'ഡേ', Dai:'ഡൈ', Dei:'ഡൈ', Do:'ഡൊ', Do2:'ദൊ', DO:'ഡോ', Dau:'ഡൌ', Dou:'ഡൌ', DaM:'ഡം', DaH:'ഡഃ', Dh:'ഢ്', Dha:'ഢ', Dhaa:'ഢാ', DhA:'ഢാ', Dhi:'ഢി', Dhii:'ഢീ', Dhee:'ഢീ', DhI:'ഢീ', Dhu:'ഢു', Dhuu:'ഢൂ', Dhoo:'ഢൂ', DhU:'ഢൂ', DhR:'ഢൃ', Dhe:'ഢെ', DhE:'ഢേ', Dhae:'ഢേ', Dhai:'ഢൈ', Dhei:'ഢൈ', Dho:'ഢൊ', DhO:'ഢോ', Dhau:'ഢൌ', Dhau:'ഢൌ', Dhou:'ഢൌ', DhaM:'ഢം', DhaH:'ഢഃ', N:'ണ്', N2:'ണ്\u200D', N3:'ണു്', N4:'ന്\u200D', N5:'ണ്ണ്', N6:'ണ്ണു്', N7:'എന്\u200D', 'N_':'ണ്\u200D', 'N~':'ണ്\u200D', Na:'ണ', Na2:'ന', Na3:'നാ', Na4:'ണ്ണ', Naa:'ണാ', Naa2:'നാ', NA:'ണാ', Ni:'ണി', Ni2:'ണ്ണി', Nii:'ണീ', Nee:'ണീ', Nee2:'നീ', NI:'ണീ', Nu:'ണു', Nuu:'ണൂ', Nuu2:'നൂ', Noo:'ണൂ', Noo2:'നൂ', NU:'ണൂ', NR:'ണൃ', Ne:'ണെ', Nee:'ണേ', Nee2:'നീ', NE:'ണേ', Nae:'ണേ', Nai:'ണൈ', Nei:'ണൈ', No:'ണൊ', No2:'നോ', NO:'ണോ', NO2:'നോ', Nau:'ണൌ', Nou:'ണൌ', NaM:'ണം', NaH:'ണഃ', th:'ത്', th2:'തു്', th3:'ത്ത്', th4:'ത്തു്', tha:'ത', tha2:'ധ', tha3:'ഥ', tha4:'ത്ത', tha5:'ദ്ധ', thaa:'താ', thaa2:'ഥാ', thaa3:'ധാ', thaa4:'ത്താ', thA:'താ', thA2:'ഥാ', thA3:'ധാ', thA4:'ത്താ', thi:'തി', thi2:'ത്തി', thi3:'ഥി', thi4:'ധി', thi5:'ത്ഥി', thi6:'ദ്ധി', thi7:'തൈ', thii:'തീ', thii2:'ത്തീ', thii3:'ഥീ', thii4:'ധീ', thee:'തീ', thee2:'ഥീ', thI:'തീ', thu:'തു', thu2:'ത്തു', thuu:'തൂ', thuu2:'ഥൂ', thoo:'തൂ', thoo2:'ഥൂ', thoo3:'തോ', thU:'തൂ', thR:'തൃ', the:'തെ', thE:'തേ', thae:'തേ', thee:'തേ', thai:'തൈ', thei:'തൈ', thei2:'തെയ്', tho:'തൊ', tho2:'തോ', tho3:'ത്തൊ', thO:'തോ', thO2:'ത്തോ', thau:'തൌ', thou:'തൌ', thaM:'തം', thaM:'ത്തം', thaH:'തഃ', Th:'ഥ്', Th2:'ഥു്', Tha:'ഥ', Tha2:'ത', Thaa:'ഥാ', Thaa2:'താ', ThA:'ഥാ', Thi:'ഥി', Thi2:'തി', Thi3:'ത്ഥി', Thii:'ഥീ', Thee:'ഥീ', Thee2:'തീ', ThI:'ഥീ', Thu:'ഥു', Thu2:'തു', Thuu:'ഥൂ', Thuu2:'തൂ', Thoo:'ഥൂ', Thoo2:'തൂ', ThU:'ഥൂ', ThU2:'തൂ', ThR:'ഥൃ', ThR2:'തൃ', The:'ഥെ', The2:'ദി', The3:'തെ', ThE:'ഥേ', Thae:'ഥേ', Thai:'ഥൈ', Thai2:'തൈ', Thei:'ഥൈ', Thei2:'തെയ്', Tho:'ഥൊ', ThO:'ഥോ', Thau:'ഥൌ', Thou:'ഥൌ', ThaM:'ഥം', ThaH:'ഥഃ', TH:'ഥ്', TH2:'ഥു്', THa:'ഥ', THa2:'ത', THaa:'ഥാ', THaa2:'താ', THA:'ഥാ', THi:'ഥി', THi2:'തി', THi3:'ത്ഥി', THii:'ഥീ', THee:'ഥീ', THee2:'തീ', THI:'ഥീ', THu:'ഥു', THu2:'തു', THuu:'ഥൂ', THuu2:'തൂ', THoo:'ഥൂ', THoo2:'തൂ', THU:'ഥൂ', THU2:'തൂ', THR:'ഥൃ', THR2:'തൃ', THe:'ഥെ', THe2:'ദി', THe3:'തെ', THE:'ഥേ', THae:'ഥേ', THai:'ഥൈ', THai2:'തൈ', THei:'ഥൈ', THei3:'തെയ്', THo:'ഥൊ', THO:'ഥോ', THau:'ഥൌ', THou:'ഥൌ', THaM:'ഥം', THaH:'ഥഃ', tH:'ഥ്', tH2:'ഥു്', tHa:'ഠ', tHa2:'ത', tHaa:'ഠാ', tHaa2:'താ', tHA:'ഠാ', tHi:'ഠി', tHi2:'തി', tHi3:'ത്ഠി', tHii:'ഠീ', tHee:'ഠീ', tHee2:'തീ', tHI:'ഠീ', tHu:'ഥു', tHu2:'തു', tHuu:'ഥൂ', tHuu2:'തൂ', tHoo:'ഥൂ', tHoo2:'തൂ', tHU:'ഥൂ', tHU2:'തൂ', tHR:'ഥൃ', tHR2:'തൃ', tHe:'ഠെ', tHe2:'ദി', tHe3:'തെ', tHE:'ഠേ', tHae:'ഠേ', tHai:'ഠൈ', tHai2:'തൈ', tHei:'ഠൈ', tHei2:'തെയ്', tHo:'ഠൊ', tHO:'ഠോ', tHau:'ഠൌ', tHou:'ഠൌ', tHaM:'ഠം', tHaH:'ഠഃ', d:'ദ്', d2:'ദു്', d3:'ട്', d4:'ടു്', d5:'ഡി', d6:'ദ്ദ്', da:'ദ', da2:'ട', da3:'ഡ', daa:'ദാ', daa2:'ടാ', dA:'ദാ', dA2:'ടാ', di:'ദി', di2:'ടി', di3:'ധി', di4:'ഥി', di5:'ഡൈ', dii:'ദീ', dii2:'ടീ', dee:'ദീ', dee2:'ടീ', dI:'ദീ', dI2:'ടീ', du:'ദു', du2:'ടു', du3:'ദുഃ', du4:'തു', duu:'ദൂ', doo:'ദൂ', dU:'ദൂ', dR:'ദൃ', de:'ദെ', de2:'ടെ', de3:'തെ', dE:'ദേ', dE2:'തേ', dae:'ദേ', dai:'ദൈ', dai2:'ഡായ്', dei:'ദൈ', dei3:'ഡേയ്', 'do':'ദൊ', dO:'ദോ', dau:'ദൌ', dou:'ദൌ', daM:'ദം', daH:'ദഃ', dh:'ധ്', dh2:'ധു്', dha:'ധ', dhaa:'ധാ', dhA:'ധാ', dhi:'ധി', dhii:'ധീ', dhee:'ധീ', dhI:'ധീ', dhu:'ധു', dhuu:'ധൂ', dhoo:'ധൂ', dhU:'ധൂ', dhR:'ധൃ', dhe:'ധെ', dhE:'ധേ', dhae:'ധേ', dhai:'ധൈ', dhei:'ധൈ', dho:'ധൊ', dhO:'ധോ', dhau:'ധൌ', dhau:'ധൌ', dhou:'ധൌ', dhaM:'ധം', dhaH:'ധഃ', n:'ന്', n2:'ന്\u200D', n3:'നു്', n4:'ണ്\u200D', n5:'ണ്', n6:'ന്ന്', n7:'എന്\u200D', 'n_':'ന്\u200D', 'n~':'ന്\u200D', na:'ന', na2:'ണ', naa:'നാ', naa2:'ണാ', nA:'നാ', ni:'നി', ni2:'ണി', ni3:'നൈ', nii:'നീ', nii2:'ണീ', nee:'നീ', nee2:'നേ', nI:'നീ', nI2:'ണീ', nu:'നു', nu2:'ണു', nu3:'ണ്', nuu:'നൂ', nuu2:'ണൂ', noo:'നൂ', noo2:'ണൂ', nU:'നൂ', nU2:'ണൂ', nR:'നൃ', ne:'നെ', ne2:'ണെ', ne3:'ന്', ne4:'ണ്', nE:'നേ', nae:'നേ', nai:'നൈ', nai2:'നായ്', nei:'നെയ്', nei2:'നൈ', no:'നൊ', no2:'ണൊ', no3:'നോ', nO:'നോ', nau:'നൌ', nou:'നൌ', naM:'നം', naH:'നഃ', p:'പ്', p2:'പു്', p3:'പ്പ്', p4:'പ്പു്', p5:'പി', pa:'പ', Pa2:'പ', paa:'പാ', pA:'പാ', pi:'പി', pi2:'പൈ', pi3:'പ്പി', Pi:'പി', Pi2:'പൈ', pii:'പീ', pee:'പീ', Pee:'പീ', pee2:'പേ', pI:'പീ', pu:'പു', Pu:'പു', puu:'പൂ', poo:'പൂ', poo2:'പോ', Poo:'പൂ', pU:'പൂ', pR:'പൃ', pe:'പെ', pe2:'പി', pE:'പേ', pae:'പേ', pai:'പൈ', pai2:'പയ്', pai3:'പായ്', pei:'പെയ്', pei2:'പൈ', po:'പൊ', pO:'പോ', pau:'പൌ', pou:'പൌ', paM:'പം', paH:'പഃ', P:'പ്', P2:'പ്പ്', P3:'പ്പു്', P4:'പി', Pa:'പ', Pa2:'പ', Paa:'പാ', PA:'പാ', Pi:'പി', Pi2:'പൈ', Pi3:'പ്പി', Pi2:'പി', Pi3:'പൈ', Pii:'പീ', Pee:'പീ', Pee2:'പീ', Pee3:'പേ', PI:'പീ', Pu:'പു', Pu2:'പു', Puu:'പൂ', Poo:'പൂ', Poo2:'പോ', Poo3:'പൂ', PU:'പൂ', PR:'പൃ', Pe:'പെ', Pe2:'പി', PE:'പേ', Pae:'പേ', Pai:'പൈ', Pai2:'പയ്', Pai3:'പായ്', Pei:'പെയ്', Pei2:'പൈ', Po:'പൊ', PO:'പോ', Pau:'പൌ', Pou:'പൌ', PaM:'പം', PaH:'പഃ', f:'ഫ്', f2:'എഫ്', fa:'ഫ', faa:'ഫാ', fA:'ഫാ', fi:'ഫി', fii:'ഫീ', fee:'ഫീ', fI:'ഫീ', fu:'ഫു', fuu:'ഫൂ', foo:'ഫൂ', fU:'ഫൂ', fR:'ഫൃ', fe:'ഫെ', fE:'ഫേ', fai:'ഫൈ', fei:'ഫൈ', fo:'ഫൊ', fO:'ഫോ', fau:'ഫൌ', fou:'ഫൌ', faM:'ഫം', faH:'ഫഃ', F:'ഫ്', F2:'എഫ്', Fa:'ഫ', Faa:'ഫാ', FA:'ഫാ', Fi:'ഫി', Fii:'ഫീ', Fee:'ഫീ', FI:'ഫീ', Fu:'ഫു', Fuu:'ഫൂ', Foo:'ഫൂ', FU:'ഫൂ', FR:'ഫൃ', Fe:'ഫെ', FE:'ഫേ', Fai:'ഫൈ', Fei:'ഫൈ', Fo:'ഫൊ', FO:'ഫോ', Fau:'ഫൌ', Fou:'ഫൌ', FaM:'ഫം', FaH:'ഫഃ', ph:'ഫ്', ph2:'പി.എച്.', pha:'ഫ', phaa:'ഫാ', phA:'ഫാ', phi:'ഫി', phii:'ഫീ', phee:'ഫീ', phI:'ഫീ', phu:'ഫു', phuu:'ഫൂ', phoo:'ഫൂ', phU:'ഫൂ', phR:'ഫൃ', phe:'ഫെ', phE:'ഫേ', phai:'ഫൈ', phei:'ഫൈ', pho:'ഫൊ', pho2:'ഫോ', phO:'ഫോ', phau:'ഫൌ', phou:'ഫൌ', phaM:'ഫം', phaH:'ഫഃ', b:'ബ്', b2:'ബ്ബ്', b3:'ബി', ba:'ബ', baa:'ബാ', bA:'ബാ', bi:'ബി', bi2:'ബൈ', bii:'ബീ', bee:'ബീ', bI:'ബീ', bu:'ബു', buu:'ബൂ', boo:'ബൂ', boo2:'ബോ', bU:'ബൂ', bR:'ബൃ', be:'ബെ', bE:'ബേ', bae:'ബേ', bai:'ബൈ', bai2:'ബായ്', bei:'ബൈ', bo:'ബൊ', bO:'ബോ', bau:'ബൌ', bau3:'ഭൌ', bou:'ബൌ', baM:'ബം', baH:'ബഃ', bh:'ഭ്', bha:'ഭ', bhaa:'ഭാ', bhA:'ഭാ', bhi:'ഭി', bhii:'ഭീ', bhee:'ഭീ', bhI:'ഭീ', bhu:'ഭു', bhuu:'ഭൂ', bhoo:'ഭൂ', bhU:'ഭൂ', bhR:'ഭൃ', bhe:'ഭെ', bhE:'ഭേ', bhae:'ഭേ', bhai:'ഭൈ', bhai2:'ഭായ്', bhei:'ഭൈ', bho:'ഭൊ', bhO:'ഭോ', bhau:'ഭൌ', bhou:'ഭൌ', bhaM:'ഭം', bhaH:'ഭഃ', B:'ഭ്', B2:'ബ്', B3:'ബി', Ba:'ഭ', Ba2:'ബ', Ba3:'ബാ', Baa:'ഭാ', Baa2:'ബാ', BA:'ഭാ', BA2:'ബി.എ.', Bi:'ഭി', Bi2:'ബൈ', Bii:'ഭീ', Bee:'ഭീ', BI:'ഭീ', Bu:'ഭു', Bu2:'ബു', Buu:'ഭൂ', Boo:'ഭൂ', BU:'ഭൂ', BR:'ഭൃ', Be:'ഭെ', BE:'ഭേ', Bai:'ഭൈ', Bei:'ഭൈ', Bo:'ഭൊ', Bo:'ബോ', BO:'ഭോ', Bau:'ഭൌ', Bou:'ഭൌ', BaM:'ഭം', BaH:'ഭഃ', m:'മ്', m2:'ം', 'm ':'ം ', 'm 2':'മ്', m3:'എം', m_:'ം', 'm~':'ം', ma:'മ', ma2:'മ്മ', maa:'മാ', mA:'മാ', mi:'മി', mii:'മീ', mee:'മീ', mI:'മീ', mu:'മു', muu:'മൂ', moo:'മൂ', moo2:'മോ', mU:'മൂ', mR:'മൃ', me:'മെ', mE:'മേ', mae:'മേ', mai:'മൈ', mai2:'മയ്', mei:'മെയ്', mei2:'മൈ', mo:'മൊ', mo2:'മോ', mO:'മോ', mau:'മൌ', mou:'മൌ', maM:'മം', maH:'മഃ', M:'മ്', M2:'ം', M3:'എം', M_:'ം', 'M~':'ം', Ma:'മ', Ma2:'മ്മ', Maa:'മാ', MA:'മാ', Mi:'മി', Mii:'മീ', Mee:'മീ', MI:'മീ', Mu:'മു', Muu:'മൂ', Moo:'മൂ', Moo2:'മോ', MU:'മൂ', MR:'മൃ', Me:'മെ', ME:'മേ', Mae:'മേ', Mai:'മൈ', Mai2:'മയ്', Mei:'മെയ്', Mei2:'മൈ', Mo:'മൊ', Mo2:'മോ', MO:'മോ', Mau:'മൌ', Mou:'മൌ', MaM:'മം', MaH:'മഃ', y:'യ്', y2:'യു്', y3:'യ്യ്', y4:'യ്യു്', y5:'വൈ', ya:'യ', yaa:'യാ', yA:'യാ', yi:'യി', yii:'യീ', yee:'യീ', yI:'യീ', yu:'യു', yuu:'യൂ', yoo:'യൂ', yU:'യൂ', yR:'യൃ', ye:'യെ', ye2:'യേ', yE:'യേ', yae:'യേ', yai:'യൈ', yei:'യൈ', yo:'യൊ', yO:'യോ', yau:'യൌ', you:'യൌ', you2:'യൂ', yaM:'യം', yaH:'യഃ', Ya:'യ', Yaa:'യാ', YA:'യാ', Yi:'യി', Yii:'യീ', Yee:'യീ', YI:'യീ', Yu:'യു', Yuu:'യൂ', Yoo:'യൂ', YU:'യൂ', YR:'യൃ', Ye:'യെ', Ye2:'യേ', YE:'യേ', YE:'യേ', Yai:'യൈ', Yei:'യൈ', Yo:'യൊ', Yo2:'യോ', YO:'യോ', Yau:'യൌ', you:'യൂ', you2:'യൌ', yaM:'യം', yaH:'യഃ', r:'ര്', r2:'ര്\u200D', r3:'രു്', r4:'ആര്\u200D', r_:'ര്\u200D', 'r~':'ര്\u200D', ra:'ര', ra2:'റ', raa:'രാ', raa2:'റാ', rA:'രാ', ri:'രി', ri2:'റി', ri3:'രൈ', ri4:'റൈ', rii:'രീ', ree:'രീ', rI:'രീ', ru:'രു', ru2:'റു', ruu:'രൂ', roo:'രൂ', rU:'രൂ', rR:'രൃ', re:'രെ', rE:'രേ', rae:'രേ', rai:'രൈ', rai2:'രായ്', rei:'രൈ', rei2:'രെയ്', ro:'രൊ', ro2:'രോ', rO:'രോ', rau:'രൌ', rou:'രൌ', raM:'രം', raH:'രഃ', R:'റ്', R2:'റ്\u200D', R3:'റു്', R4:'ആര്\u200D', 'R~':'ര്\u200D', R_:'ര്\u200D', Ra:'റ', Ra2:'ര', Ra3:'രാ', Raa:'റാ', RA:'റാ', Ri:'റി', Ri2:'രി', Rii:'റീ', Ree:'റീ', Ree2:'രീ', RI:'റീ', Ru:'റു', Ru2:'രു', Ruu:'റൂ', Ruu2:'രൂ', Roo:'റൂ', Roo2:'രൂ', RU:'റൂ', Re:'റെ', Ree:'റേ', RE:'റേ', Rae:'റേ', Rai:'റൈ', Rai2:'റായ്', Rei:'റൈ', Rei2:'റെയ്', Ro:'റൊ', RO:'റോ', Rau:'റൌ', Rou:'റൌ', RaM:'റം', RaH:'റഃ', l:'ല്', l2:'ല്\u200D', l3:'ള്\u200D', l4:'ലു്', l5:'എല്\u200D', 'l~':'ല്\u200D', 'l_':'ല്\u200D', la:'ല', la2:'ള', laa:'ലാ', laa2:'ളാ', lA:'ലാ', li:'ലി', li2:'ളി', li3:'ലൈ', li4:'ളൈ', lii:'ലീ', lee:'ലീ', lee2:'ളീ', lI:'ലീ', lu:'ലു', lu2:'ളു', luu:'ലൂ', loo:'ലൂ', loo2:'ലോ', lU:'ലൂ', lR:'ലൃ', le:'ലെ', le2:'ളെ', lE:'ലേ', lae:'ലേ', lai:'ലൈ', lei:'ലൈ', lo:'ലൊ', lo2:'ലോ', lO:'ലോ', lau:'ലൌ', lou:'ലൌ', laM:'ലം', laH:'ലഃ', L:'ള്', L2:'ള്\u200D', L3:'ളു്', L4:'എല്\u200D', L5:'ള്ള്', L_:'ള്\u200D', 'L~':'ള്\u200D', La:'ള', La2:'ല', Laa:'ളാ', Laa2:'ലാ', LA:'ളാ', Li:'ളി', Li2:'ലി', Lii:'ളീ', Lee:'ളീ', Lee2:'ലീ', LI:'ളീ', Lu:'ളു', Lu2:'ലു', Luu:'ളൂ', Luu2:'ളൂ', LU:'ളൂ', Loo:'ളൂ', Loo2:'ലൂ', LR:'ളൃ', Le:'ളെ', Le2:'ലെ', LE:'ളേ', LE2:'ലേ', Lae:'ളേ', Lae2:'ലേ', Lai:'ളൈ', Lei2:'ളൈ', Lo:'ളൊ', Lo2:'ലോ', Lo3:'ലൊ', LO:'ളോ', Lau:'ളൌ', Lau3:'ളൌ', Lou:'ളൌ', LaM:'ളം', LaH:'ളഃ', v:'വ്', v2:'വു്', v3:'വ്വ്', v4:'വ്വു്', v5:'വി', V:'വി', va:'വ', va2:'വാ', Va:'വ', Va2:'വ്വ', Va3:'വാ', vaa:'വാ', Vaa2:'വാ', vA:'വാ', vi:'വി', Vi:'വി', vii:'വീ', vee:'വീ', vee2:'വേ', vI:'വീ', vu:'വു', vuu:'വൂ', voo:'വൂ', vU:'വൂ', vR:'വൃ', ve:'വെ', vE:'വേ', vae:'വേ', vai:'വൈ', vai2:'വയ്', vei:'വൈയ്', vei2:'വൈ', vo:'വൊ', vo2:'വോ', vO:'വോ', vau:'വൌ', vou:'വൌ', vaM:'വം', vaH:'വഃ', w:'വ്', w2:'വ്വ്', w3:'ഡബ്ല്യൂ', wa:'വ', waa:'വാ', wA:'വാ', wi:'വി', wii:'വീ', wee:'വീ', wI:'വീ', wu:'വു', wuu:'വൂ', woo:'വൂ', wU:'വൂ', wR:'വൃ', we:'വെ', wE:'വേ', wae:'വേ', wai:'വൈ', wei:'വൈ', wo:'വൊ', wO:'വോ', wau:'വൌ', wou:'വൌ', waM:'വം', waH:'വഃ', W:'വ്', W2:'വ്വ്', W3:'ഡബ്ല്യൂ', Wa:'വ', Waa:'വാ', WA:'വാ', Wi:'വി', Wii:'വീ', Wee:'വീ', WI:'വീ', Wu:'വു', Wuu:'വൂ', Woo:'വൂ', WU:'വൂ', WR:'വൃ', We:'വെ', WE:'വേ', Wae:'വേ', Wai:'വൈ', Wei:'വൈ', Wo:'വൊ', WO:'വോ', Wau:'വൌ', Wou:'വൌ', WaM:'വം', WaH:'വഃ', s:'സ്', s2:'ശ്', s3:'സ്സ്', s4:'സു്', s5:'സ്സു്', s6:'എസ്', sa:'സ', sa2:'ശ', saa:'സാ', saa2:'ശാ', sA:'സാ', si:'സി', si2:'ശി', sii:'സീ', see:'സീ', see2:'ശീ', sI:'സീ', su:'സു', su2:'ശു', suu:'സൂ', suu2:'ശൂ', soo:'സൂ', soo2:'ശൂ', sU:'സൂ', sR:'സൃ', se:'സെ', se2:'സി', sE:'സേ', sae:'സേ', sai:'സൈ', sai2:'സായ്', sei:'സൈ', so:'സൊ', so2:'ശൊ', so3:'സോ', sO:'സോ', sau:'സൌ', sou:'സൌ', saM:'സം', saH:'സഃ', S:'ശ്', S2:'സ്', S3:'ശ്ശ്', S4:'ശ്ശു്', S5:'എസ്', Sa:'ശ', Sa2:'സ', Saa:'ശാ', Saa2:'സാ', SA:'ശാ', SA2:'സാ', Si:'ശി', Si2:'സി', Sii:'ശീ', See:'ശീ', See2:'സീ', SI:'ശീ', Su:'ശു', Su2:'സു', Suu:'ശൂ', Soo:'ശൂ', Soo2:'സൂ', SU:'ശൂ', SR:'ശൃ', Se:'ശെ', Se2:'സെ', Se3:'സി', SE:'ശേ', Sae:'ശേ', Sai:'ശൈ', Sai2:'സൈ', Sai3:'സായ്', Sei:'ശൈ', Sei2:'സീ', So:'ശൊ', So2:'സൊ', So3:'സോ', SO:'ശോ', Sau:'ശൌ', Sou:'ശൌ', Sou2:'സൌ', SaM:'ശം', SaH:'ശഃ', SaH2:'ഷാ', Z:'ശ്', Z2:'സ്', Z3:'ഇസഡ്', z:'ശ്', z2:'സ്', z3:'ശു്', z4:'ഇസഡ്', za:'ശ', za2:'സ', zaa:'ശാ', zaa2:'സാ', zA:'ശാ', zi:'ശി', zi2:'സി', zii:'ശീ', zee:'ശീ', zee2:'സീ', zI:'ശീ', zu:'ശു', zu2:'സു', zuu:'ശൂ', zoo:'ശൂ', zoo2:'സൂ', zU:'ശൂ', zR:'ശൃ', ze:'ശെ', zE:'ശേ', zai:'ശൈ', zei:'ശൈ', zo:'ശൊ', zO:'ശോ', zau:'ശൌ', zou:'ശൌ', zaM:'ശം', zaH:'ശഃ', sh:'ഷ്', sh2:'ഷു്', sha:'ഷ', shaa:'ഷാ', shA:'ഷാ', shi:'ഷി', shii:'ഷീ', shee:'ഷീ', shee2:'ഷേ', shI:'ഷീ', shu:'ഷു', shuu:'ഷൂ', shoo:'ഷൂ', shU:'ഷൂ', shR:'ഷൃ', she:'ഷെ', she2:'ഷി', shE:'ഷേ', shae:'ഷേ', shai:'ഷൈ', shei:'ഷൈ', sho:'ഷൊ', sho2:'ഷോ', shO:'ഷോ', shau:'ഷൌ', shou:'ഷൌ', shaM:'ഷം', shaH:'ഷഃ', Sh:'ഴ്', Sh2:'ഷ്', Sh3:'ഴു്', Sha:'ഴ', Sha2:'ഷ', Sha3:'ഷാ', Shaa:'ഴാ', ShA:'ഴാ', Shi:'ഴി', Shii:'ഴീ', Shee:'ഴീ', ShI:'ഴീ', Shu:'ഴു', Shu2:'ഷു', Shuu:'ഴൂ', Shoo:'ഴൂ', Shoo2:'ഷൂ', ShU:'ഴൂ', ShR:'ഴൃ', She:'ഴെ', She:'ഷി', ShE:'ഴേ', Shae:'ഴേ', Shai:'ഴൈ', Shei:'ഴൈ', Sho:'ഴൊ', ShO:'ഴോ', Shau:'ഴൌ', Shou:'ഴൌ', ShaM:'ഴം', ShaH:'ഴഃ', zh:'ഴ്', zh2:'ഴു്', zha:'ഴ', zhaa:'ഴാ', zhA:'ഴാ', zhi:'ഴി', zhii:'ഴീ', zhee:'ഴീ', zhI:'ഴീ', zhu:'ഴു', zhuu:'ഴൂ', zhoo:'ഴൂ', zhU:'ഴൂ', zhR:'ഴൃ', zhe:'ഴെ', zhE:'ഴേ', zhae:'ഴേ', zhai:'ഴൈ', zhei:'ഴൈ', zho:'ഴൊ', zhO:'ഴോ', zhau:'ഴൌ', zhou:'ഴൌ', zhaM:'ഴം', zhaH:'ഴഃ', h:'ഹ്', h2:'എച്', h3:'എച്ച്', H:'എച്ച്', ha:'ഹ', ha2:'ഹാ', haa:'ഹാ', hA:'ഹാ', hi:'ഹി', hi2:'ഹായ്', hii:'ഹീ', hee:'ഹീ', hI:'ഹീ', hu:'ഹു', huu:'ഹൂ', hoo:'ഹൂ', hU:'ഹൂ', hR:'ഹൃ', he:'ഹെ', he2:'ഹി', hE:'ഹേ', hai:'ഹൈ', hai2:'ഹായ്', hei:'ഹൈ', hei2:'ഹേയ്', ho:'ഹൊ', ho2:'ഹോ', hO:'ഹോ', hau:'ഹൌ', hou:'ഹൌ', haM:'ഹം', haH:'ഹഃ', x:'ക്ഷ്', x2:'ക്സ്', x3:'എക്സ്', xa:'ക്ഷ', xa2:'ക്സ', xa3:'ക്സെ', xaa:'ക്ഷാ', xA:'ക്ഷാ', xi:'ക്ഷി', xi2:'ക്സി', xii:'ക്ഷീ', xee:'ക്ഷീ', xI:'ക്ഷീ', xu:'ക്ഷു', xu2:'ക്സു', xuu:'ക്ഷൂ', xoo:'ക്ഷൂ', xU:'ക്ഷൂ', xR:'ക്ഷൃ', xe:'ക്ഷെ', xe2:'ക്ഷേ', xe3:'ക്സെ', xe4:'ക്സി', xe5:'ക്ഷി', xE:'ക്ഷേ', xai:'ക്ഷൈ', xei:'ക്ഷൈ', xo:'ക്ഷൊ', xO:'ക്ഷോ', xau:'ക്ഷൌ', xou:'ക്ഷൌ', xaM:'ക്ഷം', xaH:'ക്ഷഃ', T:'ടി', T2:'റ്റി', TT:'റ്റ്', TT2:'റ്റു്', TTa:'റ്റ', TTa2:'ട്ട', TTaa:'റ്റാ', TTA:'റ്റാ', TTi:'റ്റി', TTii:'റ്റീ', TTee:'റ്റീ', TTI:'റ്റീ', TTI2:'ടി.ടി.ഐ.', TTu:'റ്റു', TTuu:'റ്റൂ', TToo:'റ്റൂ', TTU:'റ്റൂ', TTR:'റ്റൃ', TTR2:'ടി.ടി.ആര്\u200D', TTe:'റ്റെ', TTE:'റ്റേ', TTai:'റ്റൈ', TTei:'റ്റൈ', TTo:'റ്റൊ', TTO:'റ്റോ', TTau:'റ്റൌ', TTau:'റ്റൌ', TTou:'റ്റൌ', TTaM:'റ്റം', TTah:'റ്റഃ', nk:'ങ്ക്', nk2:'ങ്കു്', nka:'ങ്ക', nkaa:'ങ്കാ', nkA:'ങ്കാ', nki:'ങ്കി', nkii:'ങ്കീ', nkee:'ങ്കീ', nkI:'ങ്കീ', nku:'ങ്കു', nkuu:'ങ്കൂ', nkoo:'ങ്കൂ', nkU:'ങ്കൂ', nkR:'ങ്കൃ', nke:'ങ്കെ', nkE:'ങ്കേ', nkai:'ങ്കൈ', nkai:'ങ്കായ്', nkei:'ങ്കൈ', nko:'ങ്കൊ', nko:'ങ്കോ', nkO:'ങ്കോ', nkau:'ങ്കൌ', nkou:'ങ്കൌ', nkaM:'ങ്കം', nkaH:'ങ്കഃ', nc:'ങ്ക്', nch:'ഞ്ച്', ncha:'ഞ്ച', ncha2:'ഞ്ചാ', nchaa:'ഞ്ചാ', nchA:'ഞ്ചാ', nchi:'ഞ്ചി', nchii:'ഞ്ചീ', nchee:'ഞ്ചീ', nchI:'ഞ്ചീ', nchu:'ഞ്ചു', nchuu:'ഞ്ചൂ', nchoo:'ഞ്ചൂ', nchU:'ഞ്ചൂ', nchR:'ഞ്ചൃ', nche:'ഞ്ചെ', nche2:'ഞ്ചി', nchE:'ഞ്ചേ', nchai:'ഞ്ചൈ', nchei:'ഞ്ചൈ', ncho:'ഞ്ചൊ', nchO:'ഞ്ചോ', nchau:'ഞ്ചൌ', nchou:'ഞ്ചൌ', nchaM:'ഞ്ചം', nchaH:'ഞ്ചഃ', nth:'ന്ത്', nth2:'ന്തു്', ntha:'ന്ത', ntha2:'ന്ദ', nthaa:'ന്താ', nthA:'ന്താ', nthi:'ന്തി', nthi2:'ന്ദി', nthii:'ന്തീ', nthee:'ന്തീ', nthee2:'ന്ദീ', nthI:'ന്തീ', nthu:'ന്തു', nthuu:'ന്തൂ', nthoo:'ന്തൂ', nthU:'ന്തൂ', nthR:'ന്തൃ', nthe:'ന്തെ', nthE:'ന്തേ', nthE2:'ന്ദേ', nthai:'ന്തൈ', nthei:'ന്തൈ', ntho:'ന്തൊ', nthO:'ന്തോ', nthau:'ന്തൌ', nthou:'ന്തൌ', nthaM:'ന്തം', nthaH:'ന്തഃ', nt:'ന്റ്', nt2:'ന്റു്', nta:'ന്റ', nta2:'ണ്ട', ntaa:'ന്റാ', ntA:'ന്റാ', nti:'ന്റി', nti2:'ണ്ടി', ntii:'ന്റീ', ntee:'ന്റീ', ntI:'ന്റീ', ntu:'ന്റു', ntuu:'ന്റൂ', ntoo:'ന്റൂ', ntU:'ന്റൂ', ntR:'ന്റൃ', nte:'ന്റെ', ntE:'ന്റേ', ntae:'ന്റേ', ntai:'ന്റൈ', ntei:'ന്റൈ', nto:'ന്റൊ', ntO:'ന്റോ', ntau:'ന്റൌ', ntou:'ന്റൌ', ntaM:'ന്റം', ntaH:'ന്റഃ', q:'ക്യു', Q:'ക്യൂ', Y:'വൈ', X:'എക്സ്' }; //=======================================================================Swanalekha Code Ends Here======================================================== //============================================================================Inscript==================================================================== var INSCRIPT={ a:'\u0D4B', b:'\u0D35', c:'\u0D2E', d:'\u0D4D', e:'\u0D3E', f:'\u0D3F', g:'\u0D41', h:'\u0D2A', i:'\u0D17', j:'\u0D30', k:'\u0D15', l:'\u0D24', m:'\u0D38', n:'\u0D32', o:'\u0D26', p:'\u0D1C', q:'\u0D57', r:'\u0D40', s:'\u0D47', t:'\u0D42', u:'\u0D39', v:'\u0D28', w:'\u0D48', x:'\u0D02', y:'\u0D2C', z:'\u0D46', A:'\u0D13', B:'\u0D34', C:'\u0D23', D:'\u0D05', E:'\u0D06', F:'\u0D07', G:'\u0D09', H:'\u0D2B', I:'\u0D18', J:'\u0D31', K:'\u0D16', L:'\u0D25', M:'\u0D36', N:'\u0D33', O:'\u0D27', P:'\u0D1D', Q:'\u0D14', R:'\u0D08', S:'\u0D0F', T:'\u0D0A', U:'\u0D19', V:'V', W:'\u0D10', X:'\u0D02', Y:'\u0D2D', Z:'\u0D0E', '1':'\u0D67', '2':'\u0D68', '3':'\u0D69', '4':'\u0D6A', '5':'\u0D6B', '6':'\u0D6C', '7':'\u0D6D', '8':'\u0D6E', '9':'\u0D6F', '0':'\u0D66', '`':'\u0D4A', '_':'\u0D03', '~':'\u0D12', '+':'\u0D0B', '=':'\u0D43', '[':'\u0D21', ']':'\u200D', '{':'\u0D22', '}':'\u0D1E', ':':'\u0D1B', ';':'\u0D1A', '':'\u0D1A', '<':'\u0D37', '>':'\u200D', '/':'\u0D2F', '\"':'\u0D20', '\'':'\u0D1F', '\\':'\u200C' }; //==================================================================Inscript Code Ends Here=============================================================== function isToggleEvent(event){ menuListener(); return false; }; function enable(){ widget.onkeypress=keypressEnabled; widget.style.outline = 'dashed 1px green'; }; function disable(){ widget.style.background='white'; widget.onkeypress=keypressDisabled; widget.style.outline = null; }; function menuListener(){ if(widget.aBound){ widget.aBound=false; disable(); } else{ var selected_index = document.getElementById("Input"+widget.id).selectedIndex; if(selected_index > 0) { enable(); } else disable(); } } function keypressEnabled(event){ if (event == undefined) event = window.event; getWidgetSelectionStart(widget); kCode = event.keyCode || event.which; if (navigator.userAgent.indexOf("Firefox")!=-1) { if(kCode==KeyEvent.DOM_VK_RIGHT) return true; } if(event.ctrlKey||event. altKey||event.metaKey){ return true; } switch(document.getElementById("Input"+widget.id).selectedIndex) { //-----------------------------------------Mozhi--------------------------------------------- case 1:{ transliterateKey(event); //calling the Transilate Function return true;} break; //------------------------------------------------------------------------------------------- //-----------------------------------------Swanalekha--------------------------------------- case 2:{ if ( kCode == 8) { if(pattern.indexOf('a')>=0 || pattern.indexOf('A')>=0 || pattern.indexOf('e')>=0 || pattern.indexOf('E')>=0 || pattern.indexOf('i')>=0 || pattern.indexOf('I')>=0 || pattern.indexOf('o')>=0 || pattern.indexOf('O')>=0 || pattern.indexOf('u')>=0 || pattern.indexOf('U')>=0|| pattern.indexOf('1')>=0 || pattern.indexOf('2')>=0 || pattern.indexOf('3')>=0 || pattern.indexOf('4')>=0 || pattern.indexOf('5')>=0 || pattern.indexOf('6')>=0 || pattern.indexOf('7')>=0 || pattern.indexOf('8')>=0 || pattern.indexOf('9')>=0 ){ pattern=pattern.replace('a',''); pattern=pattern.replace('a',''); pattern=pattern.replace('A',''); pattern=pattern.replace('e',''); pattern=pattern.replace('e',''); pattern= pattern.replace('E',''); pattern= pattern.replace('i',''); pattern= pattern.replace('i',''); pattern= pattern.replace('I',''); pattern= pattern.replace('o',''); pattern= pattern.replace('o',''); pattern= pattern.replace('O',''); pattern= pattern.replace('u',''); pattern= pattern.replace('u',''); pattern= pattern.replace('U',''); pattern= pattern.replace('1',''); pattern= pattern.replace('2',''); pattern= pattern.replace('3',''); pattern= pattern.replace('4',''); pattern= pattern.replace('5',''); pattern= pattern.replace('6',''); pattern= pattern.replace('7',''); pattern= pattern.replace('8',''); pattern= pattern.replace('9',''); tabCount=1; return; } } if(event.ctrlKey||event. altKey||event.metaKey){ return true; } var char=String.fromCharCode(kCode); var pos=widget.selectionStart; if( kCode ==9){ /*Tab key*/ tabCount++; if(pattern!=null || pattern!=''){ if(tabCount==2){ pattern=pattern+tabCount; } else{ if(SWANALEKHA[pattern.substring(0, pattern.length-1)+tabCount]){ pattern=pattern.substring(0, pattern.length-1)+tabCount; } else{ tabCount=1; pattern=pattern.substring(0, pattern.length-1); } } } } else{ pattern=pattern+char; } if(pattern.length > 5){ pattern=''; tabCount=1; } var mal=SWANALEKHA[pattern]; if(!mal) { pattern=char; tabCount=1; patternStart=widget.selectionStart; var mal=SWANALEKHA[pattern]; } if(mal){ var scrollTop = widget.scrollTop; var cursorLoc = widget.selectionStart;var stepback=cursorLoc-patternStart; widget.value= widget.value.substr(0,patternStart)+mal+widget.value.substr(widget.selectionEnd,widget.value.length); widget.scrollTop=scrollTop ; widget.selectionStart = cursorLoc + mal.length - stepback ; widget.selectionEnd = cursorLoc + mal.length - stepback; return false; } if( kCode ==9){ return false; } return true; } break; //------------------------------------------------------------------------------------------- //---------------------------------------Inscript------------------------------------------- case 3:{ var char=String.fromCharCode(kCode ); var pos=widget.selectionStart; var stepback=0; if(!mal) { patternStart=widget.selectionStart; var mal=INSCRIPT[char]; stepback=0; } if(mal){ if (isExplorer()) { var range = document.selection.createRange(); range.moveStart("character", -stepback); range.text = mal; range.collapse(false); range.select(); } else{ var scrollTop = widget.scrollTop; var cursorLoc = widget.selectionStart; var stepback = cursorLoc-patternStart; widget.value= widget.value.substr(0,patternStart)+mal+widget.value.substr(widget.selectionEnd,widget.value.length); widget.scrollTop=scrollTop ; widget.selectionStart = cursorLoc + mal.length - stepback ; widget.selectionEnd = cursorLoc + mal.length - stepback; } return false; } if( kCode ==9){ return false; } return true; }break; default:{ // Do Nothing [:-)] } } } function keypressDisabled(event){ if(isToggleEvent(event)){ enable(); return false; } return true; } widget.allinoneBound=false; disable(); var menu = document.getElementById("Input"+widget.id); if (menu.addEventListener) menu.addEventListener("click", menuListener,false); else if (menu.attachEvent) menu.attachEvent("onclick", menuListener); } function addMenu(textBox) { if(textBox==null) return; try{ var se = document.createElement("select"); se.id = "Input"+textBox.id; se.options[0] = new Option("Input Method(None)","0"); se.options[1] = new Option("Mozhi","1"); se.options[2] = new Option("Swanalekha","2"); se.options[3] = new Option("Inscript","3"); textBox.parentNode.insertBefore(se,textBox); var p = document.createElement("br"); textBox.parentNode.insertBefore(p,textBox);return; } catch(ex){alert(ex);} } function bindAllTextElements() { try { var ta=document.getElementsByTagName('textarea'); for(var i=0;i < ta.length;++i){ addMenu(ta[i]); bindAllinone(ta[i]); } var tb=document.getElementById('wpSummary'); if(tb){addMenu(tb); bindAllinone(tb); } var tb=document.getElementById('searchInput'); if(tb){ addMenu(tb); bindAllinone(tb); } var ifs = document.getElementsByTagName('iframe'); var len=ifs.length; for (var i=0;i < len; i++) { bindAllTextElements(ifs[i].contentDocument.documentElement); } } catch(ex) { alert(ex); } }; function addLoadEvent(func) { if (window.addEventListener) { window.addEventListener("load", func, false); } else if (window.attachEvent) { window.attachEvent("onload", func); } } function getWidgetSelectionStart (widget) { if( document.selection ){ // The current selection var range = document.selection.createRange(); // We'll use this as a 'dummy' var stored_range = range.duplicate(); // Select all text stored_range.moveToElementText( widget ); // Now move 'dummy' end point to end point of original range stored_range.setEndPoint( 'EndToEnd', range ); // Now we can calculate start and end points widget.selectionStart = stored_range.text.length - range.text.length; widget.selectionEnd = widget.selectionStart + range.text.length; } } addLoadEvent(bindAllTextElements); /*<-----------------------------------------------------------------------------------3in1.js Code Ends Here----------------------------------------------------------------------->