48 lines
969 B
JavaScript
48 lines
969 B
JavaScript
( function ( $ ) {
|
|
'use strict';
|
|
|
|
function transVowel ( input ) {
|
|
switch (input) {
|
|
case 's':
|
|
return 'ে';
|
|
// XXX Rest of the vowel rules
|
|
}
|
|
return input;
|
|
}
|
|
|
|
function transConsonant ( input ) {
|
|
switch (input) {
|
|
case 'k':
|
|
return 'ক';
|
|
case 'l':
|
|
return 'ত';
|
|
// XXX Rest of the consonant rules
|
|
}
|
|
return input;
|
|
}
|
|
|
|
var bnNasir = {
|
|
id: 'bn-nasir',
|
|
name: 'Bengali Nasir keyboard',
|
|
description: 'Bengali Nasir input method',
|
|
contextLength: 1,
|
|
maxKeyLength: 2,
|
|
patterns: [
|
|
// Independent vowel transliteration
|
|
[ '([efrgtswaqt])', function ( $1, $2 ) {
|
|
return transVowel( $1 );
|
|
} ],
|
|
// Prebase vowel sign + consonant transliteration
|
|
[ '([িুেো])([a-z])', function ( $1, $2, $3 ) {
|
|
return transConsonant( $3 ) + $2;
|
|
} ],
|
|
// consonant transliteration
|
|
[ '([klmnopuv])', function ( $1, $2 ) {
|
|
return transConsonant( $2 );
|
|
} ]
|
|
]
|
|
};
|
|
$.ime.register( bnNasir );
|
|
|
|
}( jQuery ) );
|