Update jquery.ime library

upstream: http://github.com/wikimedia/jquery.ime

changes:
* Support for contenteditable, like the VisualEditor surfaces. This
  support is very minimal now. Because of VE bugs on IME support, many
  things are broken. But one-one keyboard mappings should work with less
  issues. The UI of jquery.ime is not integrated with VE toolbar
* More input methods
	- IPA-X-SAMPA by Amir
	- Armenian keymaps by  Aleksey Chalabyan
	- Kurdish keymaps by Ghybu
	- Кыргыз keymap by Amir
	- Central Kurdish keyboards by Çalak
* A lot of input method bug fixes multiple contributors
* Minor UX fixes

Introduces Rangy library.
A module named rangy is defined in VisualEditor extension with more features of rangy.
Here we need only the core library. This module is loaded dynamically from
client when rangy is undefined. If VE is present rangy will be defined, the module
defined in VE will be used. ie, This get loaded only when VE is not present and
user trying to type in a contenteditable.

Bug: 49569
Bug: 50849
Bug: 50220

Change-Id: Iadad5a4e5972fbd1359847526d28e9dbbe00a7c4
This commit is contained in:
Santhosh Thottingal
2013-08-19 09:54:55 +05:30
committed by Santhosh
parent e13a4e2cb0
commit 8f5be106f5
127 changed files with 5454 additions and 643 deletions

View File

@@ -203,3 +203,12 @@ $wgResourceModules['jquery.uls.grid'] = array(
$wgResourceModules['jquery.webfonts'] = array( $wgResourceModules['jquery.webfonts'] = array(
'scripts' => 'lib/jquery.webfonts.js', 'scripts' => 'lib/jquery.webfonts.js',
) + $resourcePaths; ) + $resourcePaths;
// A module named rangy is defined in VisualExtension with more features of rangy.
// Here we need only the core library. This module is loaded dynamically from
// client when rangy is undefined. If VE is present rangy will be defined, the module
// defined in VE will be used. ie, This get loaded only when VE is not present and
// user trying to type in a contenteditable
$wgResourceModules['rangy.core'] = array(
'scripts' => 'lib/rangy/rangy-core.js',
) + $resourcePaths;

View File

@@ -15,7 +15,7 @@
text-align: left; text-align: left;
font-family: sans-serif; font-family: sans-serif;
white-space: nowrap; white-space: nowrap;
z-index: 9999; z-index: 1000;
} }
.imeselector:hover { .imeselector:hover {

View File

@@ -1,9 +1,12 @@
/*! jquery.ime - v0.1.0+20130722 /*! jquery.ime - v0.1.0+20130819
* https://github.com/wikimedia/jquery.ime * https://github.com/wikimedia/jquery.ime
* Copyright (c) 2013 Santhosh Thottingal; Licensed GPL, MIT */ * Copyright (c) 2013 Santhosh Thottingal; Licensed GPL, MIT */
( function ( $ ) { ( function ( $ ) {
'use strict'; 'use strict';
// rangy is defined in the rangy library
/*global rangy */
/** /**
* IME Class * IME Class
* @param {Function} [options.helpHandler] Called for each input method row in the selector * @param {Function} [options.helpHandler] Called for each input method row in the selector
@@ -139,7 +142,8 @@
this.$element.val() || this.$element.text(), this.$element.val() || this.$element.text(),
startPos, startPos,
this.inputmethod.maxKeyLength this.inputmethod.maxKeyLength
) + c; );
input += c;
replacement = this.transliterate( input, this.context, altGr ); replacement = this.transliterate( input, this.context, altGr );
@@ -169,6 +173,7 @@
replaceText( this.$element, replacement, startPos - input.length + 1, endPos ); replaceText( this.$element, replacement, startPos - input.length + 1, endPos );
e.stopPropagation(); e.stopPropagation();
return false; return false;
}, },
@@ -267,10 +272,17 @@
} }
dependency = $.ime.sources[inputmethodId].depends; dependency = $.ime.sources[inputmethodId].depends;
if ( dependency ) { if ( dependency && !$.ime.inputmethods[dependency] ) {
return $.when( this.load( dependency ), this.load( inputmethodId ) ); ime.load( dependency ).done( function () {
ime.load( inputmethodId ).done( function () {
deferred.resolve();
} );
} );
return deferred;
} }
debug( 'Loading ' + inputmethodId );
deferred = $.getScript( deferred = $.getScript(
ime.options.imePath + $.ime.sources[inputmethodId].source ime.options.imePath + $.ime.sources[inputmethodId].source
).done( function () { ).done( function () {
@@ -291,6 +303,17 @@
return getCaretPosition( $element ); return getCaretPosition( $element );
}, },
/**
* Set the caret position in the div.
* @param {jQuery} element The content editable div element
* @param {Object} position An object with start and end properties.
* @return {Array} If the cursor could not be placed at given position, how
* many characters had to go back to place the cursor
*/
setCaretPosition: function ( $element, position ) {
return setCaretPosition( $element, position );
},
/** /**
* Find the point at which a and b diverge, i.e. the first position * Find the point at which a and b diverge, i.e. the first position
* at which they don't have matching characters. * at which they don't have matching characters.
@@ -394,6 +417,10 @@
newLines, newLines,
endRange; endRange;
if ( $element.is( '[contenteditable]' ) ) {
return getDivCaretPosition( el );
}
if ( typeof el.selectionStart === 'number' && typeof el.selectionEnd === 'number' ) { if ( typeof el.selectionStart === 'number' && typeof el.selectionEnd === 'number' ) {
start = el.selectionStart; start = el.selectionStart;
end = el.selectionEnd; end = el.selectionEnd;
@@ -434,40 +461,75 @@
} }
} }
return [ start, end ]; return [start, end];
} }
/** /**
* Helper function to get an IE TextRange object for an element * Helper function to get an IE TextRange object for an element
*/ */
function rangeForElementIE( e ) { function rangeForElementIE( element ) {
if ( e.nodeName.toLowerCase() === 'input' ) { var selection;
return e.createTextRange();
} else {
var sel = document.body.createTextRange();
sel.moveToElementText( e ); if ( element.nodeName.toLowerCase() === 'input' ) {
return sel; selection = element.createTextRange();
} else {
selection = document.body.createTextRange();
selection.moveToElementText( element );
} }
return selection;
} }
function replaceText( $element, replacement, start, end ) { function replaceText( $element, replacement, start, end ) {
var element = $element.get( 0 ), var selection,
selection,
length, length,
newLines, newLines,
scrollTop; scrollTop,
range,
correction,
textNode,
element = $element.get( 0 );
if ( $element.is( '[contenteditable]' ) ) {
correction = setCaretPosition( $element, {
start: start,
end: end
} );
selection = rangy.getSelection();
range = selection.getRangeAt( 0 );
if ( correction[0] > 0 ) {
replacement = selection.toString().substring( 0, correction[0] ) + replacement;
}
textNode = document.createTextNode( replacement );
range.deleteContents();
range.insertNode( textNode );
range.commonAncestorContainer.normalize();
start = end = start + replacement.length - correction[0];
setCaretPosition( $element, {
start: start,
end: end
} );
return;
}
if ( typeof element.selectionStart === 'number' && typeof element.selectionEnd === 'number' ) { if ( typeof element.selectionStart === 'number' && typeof element.selectionEnd === 'number' ) {
// IE9+ and all other browsers // IE9+ and all other browsers
scrollTop = element.scrollTop; scrollTop = element.scrollTop;
// Replace the whole text of the text area:
// text before + replacement + text after.
// This could be made better if range selection worked on browsers. // This could be made better if range selection worked on browsers.
// But for complex scripts, browsers place cursor in unexpected places // But for complex scripts, browsers place cursor in unexpected places
// and it's not possible to fix cursor programmatically. // and it's not possible to fix cursor programmatically.
// Ref Bug https://bugs.webkit.org/show_bug.cgi?id=66630 // Ref Bug https://bugs.webkit.org/show_bug.cgi?id=66630
element.value = element.value.substring( 0, start ) + replacement element.value = element.value.substring( 0, start ) +
+ element.value.substring( end, element.value.length ); replacement +
element.value.substring( end, element.value.length );
// restore scroll // restore scroll
element.scrollTop = scrollTop; element.scrollTop = scrollTop;
// set selection // set selection
@@ -492,6 +554,127 @@
} }
} }
function getDivCaretPosition( element ) {
var charIndex = 0,
start = 0,
end = 0,
foundStart = false,
foundEnd = false,
sel = rangy.getSelection();
function traverseTextNodes( node, range ) {
var i, childNodesCount;
if ( node.nodeType === Node.TEXT_NODE ) {
if ( !foundStart && node === range.startContainer ) {
start = charIndex + range.startOffset;
foundStart = true;
}
if ( foundStart && node === range.endContainer ) {
end = charIndex + range.endOffset;
foundEnd = true;
}
charIndex += node.length;
} else {
childNodesCount = node.childNodes.length;
for ( i = 0; i < childNodesCount; ++i ) {
traverseTextNodes( node.childNodes[i], range );
if ( foundEnd ) {
break;
}
}
}
}
if ( sel.rangeCount ) {
traverseTextNodes( element, sel.getRangeAt( 0 ) );
}
return [ start, end ];
}
function setCaretPosition( $element, position ) {
var currentPosition,
startCorrection = 0,
endCorrection = 0,
element = $element[0];
setDivCaretPosition( element, position );
currentPosition = getDivCaretPosition( element );
// see Bug https://bugs.webkit.org/show_bug.cgi?id=66630
while ( position.start !== currentPosition[0] ) {
position.start -= 1; // go back one more position.
if ( position.start < 0 ) {
// never go beyond 0
break;
}
setDivCaretPosition( element, position );
currentPosition = getDivCaretPosition( element );
startCorrection += 1;
}
while ( position.end !== currentPosition[1] ) {
position.end += 1; // go forward one more position.
setDivCaretPosition( element, position );
currentPosition = getDivCaretPosition( element );
endCorrection += 1;
if ( endCorrection > 10 ) {
// XXX avoid rare case of infinite loop here.
break;
}
}
return [startCorrection, endCorrection];
}
/**
* Set the caret position in the div.
* @param {Element} element The content editable div element
*/
function setDivCaretPosition( element, position ) {
var nextCharIndex,
charIndex = 0,
range = rangy.createRange(),
foundStart = false,
foundEnd = false;
range.collapseToPoint( element, 0 );
function traverseTextNodes( node ) {
var i, len;
if ( node.nodeType === 3 ) {
nextCharIndex = charIndex + node.length;
if ( !foundStart && position.start >= charIndex && position.start <= nextCharIndex ) {
range.setStart( node, position.start - charIndex );
foundStart = true;
}
if ( foundStart && position.end >= charIndex && position.end <= nextCharIndex ) {
range.setEnd( node, position.end - charIndex );
foundEnd = true;
}
charIndex = nextCharIndex;
} else {
for ( i = 0, len = node.childNodes.length; i < len; ++i ) {
traverseTextNodes( node.childNodes[i] );
if ( foundEnd ) {
rangy.getSelection().setSingleRange( range );
break;
}
}
}
}
traverseTextNodes( element );
}
/** /**
* Find the point at which a and b diverge, i.e. the first position * Find the point at which a and b diverge, i.e. the first position
* at which they don't have matching characters. * at which they don't have matching characters.
@@ -533,12 +716,10 @@
} }
} }
function arrayKeys( obj ) { function arrayKeys ( obj ) {
var rv = []; return $.map( obj, function( element, index ) {
$.each( obj, function ( key ) { return index;
rv.push( key );
} ); } );
return rv;
} }
}( jQuery ) ); }( jQuery ) );
@@ -674,6 +855,14 @@
} }
} ); } );
// Hide the menu when clicked outside
$( 'html' ).click( $.proxy( this.hide, this ) );
// ... but when clicked on window do not propagate it.
this.$menu.on( 'click', function ( event ) {
event.stopPropagation();
} );
imeselector.$imeSetting.mouseenter( function () { imeselector.$imeSetting.mouseenter( function () {
// We don't want the selector to disappear // We don't want the selector to disappear
// while the user is trying to click it // while the user is trying to click it
@@ -1296,11 +1485,11 @@
source: 'rules/as/as-bornona.js' source: 'rules/as/as-bornona.js'
}, },
'as-inscript': { 'as-inscript': {
name: 'ইন্‌স্ক্ৰিপ্', name: 'ইনস্ক্ৰিপ্',
source: 'rules/as/as-inscript.js' source: 'rules/as/as-inscript.js'
}, },
'as-inscript2': { 'as-inscript2': {
name: 'ইন্‌স্ক্ৰিপ্ ২', name: 'ইনস্ক্ৰিপ্ ২',
source: 'rules/as/as-inscript2.js' source: 'rules/as/as-inscript2.js'
}, },
'as-phonetic': { 'as-phonetic': {
@@ -1332,11 +1521,11 @@
source: 'rules/bn/bn-avro.js' source: 'rules/bn/bn-avro.js'
}, },
'bn-inscript': { 'bn-inscript': {
name: 'ইন্‌স্ক্ৰিপ্', name: 'ইনস্ক্ৰিপ্',
source: 'rules/bn/bn-inscript.js' source: 'rules/bn/bn-inscript.js'
}, },
'bn-inscript2': { 'bn-inscript2': {
name: 'ইন্‌স্ক্ৰিপ্ ২', name: 'ইনস্ক্ৰিপ্ ২',
source: 'rules/bn/bn-inscript2.js' source: 'rules/bn/bn-inscript2.js'
}, },
'bn-nkb': { 'bn-nkb': {
@@ -1355,6 +1544,18 @@
name: 'इनस्क्रिप्ट २', name: 'इनस्क्रिप्ट २',
source: 'rules/brx/brx-inscript2.js' source: 'rules/brx/brx-inscript2.js'
}, },
'ckb-transliteration-arkbd': {
name: 'باشووری',
source: 'rules/ckb/ckb-transliteration-arkbd.js'
},
'ckb-transliteration-fakbd': {
name: 'ڕۆژھەڵاتی',
source: 'rules/ckb/ckb-transliteration-fakbd.js'
},
'ckb-transliteration-lakbd': {
name: 'لاتینی',
source: 'rules/ckb/ckb-transliteration-lakbd.js'
},
'cv-cyr-altgr': { 'cv-cyr-altgr': {
name: 'Чăвашла (AltGr)', name: 'Чăвашла (AltGr)',
source: 'rules/cv/cv-cyr-altgr.js' source: 'rules/cv/cv-cyr-altgr.js'
@@ -1517,9 +1718,25 @@
name: 'Croatian kbd', name: 'Croatian kbd',
source: 'rules/hr/hr-kbd.js' source: 'rules/hr/hr-kbd.js'
}, },
'hy-kbd': { 'hy-ephonetic': {
name: 'Ստանդարտ ստեղնաշար', name: 'Հնչյունային դասավորություն',
source: 'rules/hy/hy-kbd.js' source: 'rules/hy/hy-ephonetic.js'
},
'hy-typewriter': {
name: 'Գրամեքենայի դասավորություն',
source: 'rules/hy/hy-typewriter.js'
},
'hy-ephoneticalt': {
name: 'Հնչյունային նոր (R→Ր, F→Թ)',
source: 'rules/hy/hy-ephoneticalt.js'
},
'hy-emslegacy': {
name: 'Մայքրոսոֆթի հին արևելահայերեն',
source: 'rules/hy/hy-emslegacy.js'
},
'hy-wmslegacy': {
name: 'Մայքրոսոֆթի հին արևմտահայերեն',
source: 'rules/hy/hy-wmslegacy.js'
}, },
'gu-inscript': { 'gu-inscript': {
name: 'ઇનસ્ક્રિપ્ટ', name: 'ઇનસ્ક્રિપ્ટ',
@@ -1558,7 +1775,7 @@
source: 'rules/kn/kn-inscript.js' source: 'rules/kn/kn-inscript.js'
}, },
'kn-inscript2': { 'kn-inscript2': {
name: 'ಇನ್ಸ್ಕ್ರಿಪ್ಟ್ ೨', name: 'ಇನ್\u200cಸ್ಕ್ರಿಪ್ಟ್ ೨',
source: 'rules/kn/kn-inscript2.js' source: 'rules/kn/kn-inscript2.js'
}, },
'kn-transliteration': { 'kn-transliteration': {
@@ -1569,6 +1786,10 @@
name: 'KGP/Nudi/KP Rao', name: 'KGP/Nudi/KP Rao',
source: 'rules/kn/kn-kgp.js' source: 'rules/kn/kn-kgp.js'
}, },
'ky-cyrl-alt': {
name: 'Кыргыз Alt',
source: 'rules/ky/ky-cyrl-alt.js'
},
'gom-inscript2': { 'gom-inscript2': {
name: 'इनस्क्रिप्ट २', name: 'इनस्क्रिप्ट २',
source: 'rules/gom/gom-inscript2.js' source: 'rules/gom/gom-inscript2.js'
@@ -1581,6 +1802,14 @@
name: 'Kashmiri Arabic', name: 'Kashmiri Arabic',
source: 'rules/ks/ks-kbd.js' source: 'rules/ks/ks-kbd.js'
}, },
'ku-h': {
name: 'Ku h',
source: 'rules/ku/ku-h.js'
},
'ku-tr': {
name: 'Ku tr',
source: 'rules/ku/ku-tr.js'
},
'lo-kbd': { 'lo-kbd': {
name: 'າຶກ', name: 'າຶກ',
source: 'rules/lo/lo-kbd.js' source: 'rules/lo/lo-kbd.js'
@@ -1594,7 +1823,7 @@
source: 'rules/mn/mn-cyrl.js' source: 'rules/mn/mn-cyrl.js'
}, },
'mni-inscript2': { 'mni-inscript2': {
name: 'ইন্‌স্ক্ৰিপ্ ২', name: 'ইনস্ক্ৰিপ্ ২',
source: 'rules/mni/mni-inscript2.js' source: 'rules/mni/mni-inscript2.js'
}, },
'mr-inscript': { 'mr-inscript': {
@@ -1613,10 +1842,6 @@
name: 'फोनेटिक', name: 'फोनेटिक',
source: 'rules/mr/mr-phonetic.js' source: 'rules/mr/mr-phonetic.js'
}, },
'my-kbd': {
name: 'မြန်မာဘာသာ kbd',
source: 'rules/my/my-kbd.js'
},
'my-xkb': { 'my-xkb': {
name: 'မြန်မာဘာသာ xkb', name: 'မြန်မာဘာသာ xkb',
source: 'rules/my/my-xkb.js' source: 'rules/my/my-xkb.js'
@@ -1641,16 +1866,20 @@
name: 'Traditional', name: 'Traditional',
source: 'rules/ne/ne-trad.js' source: 'rules/ne/ne-trad.js'
}, },
'no-normforms': { 'nb-normforms': {
name: 'Normal transliterasjon', name: 'Normal transliterasjon',
source: 'rules/no/no-normforms.js' source: 'rules/nb/nb-normforms.js'
}, },
'no-tildeforms': { 'nb-tildeforms': {
name: 'Tildemerket transliterasjon', name: 'Tildemerket transliterasjon',
source: 'rules/no/no-tildeforms.js' source: 'rules/nb/nb-tildeforms.js'
},
'nn-tildeforms': {
name: 'Tildemerkt transliterasjon',
source: 'rules/nb/nb-tildeforms.js'
}, },
'or-transliteration': { 'or-transliteration': {
name: 'ଟ୍ରାନ୍ସଲି ଟରେସନ', name: 'ଟ୍ରାନ୍ସଲିଟରେସନ',
source: 'rules/or/or-transliteration.js' source: 'rules/or/or-transliteration.js'
}, },
'or-inscript': { 'or-inscript': {
@@ -1686,11 +1915,11 @@
source: 'rules/sr/sr-kbd.js' source: 'rules/sr/sr-kbd.js'
}, },
'te-inscript': { 'te-inscript': {
name: 'ఇన్స్క్రిప్ట్', name: 'ఇన్\u200dస్క్రిప్ట్',
source: 'rules/te/te-inscript.js' source: 'rules/te/te-inscript.js'
}, },
'te-inscript2': { 'te-inscript2': {
name: 'ఇన్స్క్రిప్ట్ 2', name: 'ఇన్\u200dస్క్రిప్ట్ 2',
source: 'rules/te/te-inscript2.js' source: 'rules/te/te-inscript2.js'
}, },
'te-transliteration': { 'te-transliteration': {
@@ -1777,6 +2006,10 @@
name: 'International Phonetic Alphabet - SIL', name: 'International Phonetic Alphabet - SIL',
source: 'rules/fonipa/ipa-sil.js' source: 'rules/fonipa/ipa-sil.js'
}, },
'ipa-x-sampa': {
name: 'International Phonetic Alphabet - X-SAMPA',
source: 'rules/fonipa/ipa-x-sampa.js'
},
'udm-alt': { 'udm-alt': {
name: 'Удмурт ALT', name: 'Удмурт ALT',
source: 'rules/udm/udm-alt.js' source: 'rules/udm/udm-alt.js'
@@ -1844,6 +2077,10 @@
autonym: 'बोड़ो', autonym: 'बोड़ो',
inputmethods: [ 'brx-inscript', 'brx-inscript2' ] inputmethods: [ 'brx-inscript', 'brx-inscript2' ]
}, },
'ckb': {
autonym: 'کوردی',
inputmethods: [ 'ckb-transliteration-arkbd', 'ckb-transliteration-fakbd', 'ckb-transliteration-lakbd' ]
},
'ce': { 'ce': {
autonym: 'нохчийн', autonym: 'нохчийн',
inputmethods: [ 'cyrl-palochka' ] inputmethods: [ 'cyrl-palochka' ]
@@ -1860,13 +2097,17 @@
autonym: 'Deutsch', autonym: 'Deutsch',
inputmethods: [ 'de-transliteration' ] inputmethods: [ 'de-transliteration' ]
}, },
'diq': {
autonym: 'Kirdkî',
inputmethods: [ 'ku-h', 'ku-tr' ]
},
'doi': { 'doi': {
autonym: 'डोगरी', autonym: 'डोगरी',
inputmethods: [ 'doi-inscript2' ] inputmethods: [ 'doi-inscript2' ]
}, },
'en': { 'en': {
autonym: 'English', autonym: 'English',
inputmethods: [ 'ipa-sil' ] inputmethods: [ 'ipa-sil', 'ipa-x-sampa' ]
}, },
'el': { 'el': {
autonym: 'Ελληνικά', autonym: 'Ελληνικά',
@@ -1905,8 +2146,8 @@
inputmethods: [ 'hr-kbd' ] inputmethods: [ 'hr-kbd' ]
}, },
'hy': { 'hy': {
autonym: 'Հայերեն', autonym: 'հայերեն',
inputmethods: [ 'hy-kbd' ] inputmethods: [ 'hy-ephonetic', 'hy-typewriter', 'hy-ephoneticalt', 'hy-emslegacy', 'hy-wmslegacy' ]
}, },
'hne': { 'hne': {
autonym: 'छत्तीसगढ़ी', autonym: 'छत्तीसगढ़ी',
@@ -1918,7 +2159,7 @@
}, },
'fonipa': { 'fonipa': {
autonym: 'International Phonetic Alphabet', autonym: 'International Phonetic Alphabet',
inputmethods: [ 'ipa-sil' ] inputmethods: [ 'ipa-sil', 'ipa-x-sampa' ]
}, },
'jv': { 'jv': {
autonym: 'ꦧꦱꦗꦮ', autonym: 'ꦧꦱꦗꦮ',
@@ -1944,10 +2185,18 @@
autonym: 'कॉशुर / کٲشُر', autonym: 'कॉशुर / کٲشُر',
inputmethods: [ 'ks-inscript', 'ks-kbd' ] inputmethods: [ 'ks-inscript', 'ks-kbd' ]
}, },
'ky': {
autonym: 'Кыргыз',
inputmethods: [ 'ky-cyrl-alt' ]
},
'kab': { 'kab': {
autonym: 'ⵜⴰⵇⴱⴰⵢⵍⵉⵜ', autonym: 'ⵜⴰⵇⴱⴰⵢⵍⵉⵜ',
inputmethods: [ 'ber-tfng' ] inputmethods: [ 'ber-tfng' ]
}, },
'ku': {
autonym: 'Kurdî',
inputmethods: [ 'ku-h', 'ku-tr' ]
},
'lbe': { 'lbe': {
autonym: 'лакку', autonym: 'лакку',
inputmethods: [ 'cyrl-palochka' ] inputmethods: [ 'cyrl-palochka' ]
@@ -1986,7 +2235,7 @@
}, },
'my': { 'my': {
autonym: 'မြန်မာ', autonym: 'မြန်မာ',
inputmethods: [ 'my-kbd', 'my-xkb' ] inputmethods: [ 'my-xkb' ]
}, },
'ne': { 'ne': {
autonym: 'नेपाली', autonym: 'नेपाली',
@@ -1996,17 +2245,13 @@
autonym: 'नेपाल भाषा', autonym: 'नेपाल भाषा',
inputmethods: [ 'hi-transliteration', 'hi-inscript' ] inputmethods: [ 'hi-transliteration', 'hi-inscript' ]
}, },
'no': {
autonym: 'Norsk',
inputmethods: [ 'no-normforms', 'no-tildeforms' ]
},
'nb': { 'nb': {
autonym: 'Norsk (bokmål)', autonym: 'Norsk (bokmål)',
inputmethods: [ 'no-normforms', 'no-tildeforms' ] inputmethods: [ 'nb-normforms', 'nb-tildeforms' ]
}, },
'nn': { 'nn': {
autonym: 'Norsk (nynorsk)', autonym: 'Norsk (nynorsk)',
inputmethods: [ 'no-normforms', 'no-tildeforms' ] inputmethods: [ 'nb-normforms', 'nn-tildeforms' ]
}, },
'or': { 'or': {
autonym: 'ଓଡ଼ିଆ', autonym: 'ଓଡ଼ିଆ',

View File

@@ -429,5 +429,4 @@
}; };
$.ime.register( amTransliteration ); $.ime.register( amTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -102,15 +102,14 @@
['\\.', '<'], ['\\.', '<'],
['\\[', ']'], ['\\[', ']'],
['\\]', '['], ['\\]', '['],
['J', ''], ['J', '\u200d'],
['L', ''], ['L', '\u200e'],
['N', ''], ['N', '\u200c'],
['R', ''], ['R', '\u200f'],
['\\{', '}'], ['\\{', '}'],
['\\}', '{'] ['\\}', '{']
] ]
}; };
$.ime.register( arKbd ); $.ime.register( arKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -163,6 +163,6 @@
['ঃ`', ':'], ['ঃ`', ':'],
['`', '']] ['`', '']]
}; };
$.ime.register( asAvro );
$.ime.register( asAvro );
}( jQuery ) ); }( jQuery ) );

View File

@@ -79,6 +79,6 @@
['9', '৯'], ['9', '৯'],
['\\`', '\u200C']] ['\\`', '\u200C']]
}; };
$.ime.register( asBornona );
$.ime.register( asBornona );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var asInScript = { var asInScript = {
id: 'as-inscript', id: 'as-inscript',
name: 'ইন্‌স্ক্ৰিপ্', name: 'ইনস্ক্ৰিপ্',
description: 'InScript input method for Assamese according to CDAC\'s Enhanced InScript Keyboard Layout 5.2', description: 'InScript input method for Assamese according to CDAC\'s Enhanced InScript Keyboard Layout 5.2',
date: '2012-10-10', date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
@@ -119,6 +119,6 @@
['4', '₹']] ['4', '₹']]
}; };
$.ime.register( asInScript );
$.ime.register( asInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var asInScript2 = { var asInScript2 = {
id: 'as-inscript2', id: 'as-inscript2',
name: 'ইন্‌স্ক্ৰিপ্ ২', name: 'ইনস্ক্ৰিপ্ ২',
description: 'Enhanced InScript keyboard for Assamese language', description: 'Enhanced InScript keyboard for Assamese language',
date: '2013-02-09', date: '2013-02-09',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
@@ -98,9 +98,9 @@
], ],
patterns_x: [ patterns_x: [
['\\!', '৴'], ['\\!', '৴'],
['1', ''], ['1', '\u200d'],
['\\@', '৵'], ['\\@', '৵'],
['2', ''], ['2', '\u200c'],
['\\#', '৶'], ['\\#', '৶'],
['\\$', '৷'], ['\\$', '৷'],
['4', '₹'], ['4', '₹'],

View File

@@ -83,8 +83,8 @@
['\'', '\''], ['\'', '\''],
['\\|', '৺'], ['\\|', '৺'],
['\\\\', 'ৱ'], ['\\\\', 'ৱ'],
['\\~', ''], ['\\~', '\u200c'],
['\\`', ''], ['\\`', '\u200d'],
['Z', 'য'], ['Z', 'য'],
['z', 'য়'], ['z', 'য়'],
['X', 'ঢ়'], ['X', 'ঢ়'],
@@ -109,5 +109,4 @@
}; };
$.ime.register( asPhonetic ); $.ime.register( asPhonetic );
}( jQuery ) ); }( jQuery ) );

View File

@@ -109,6 +109,6 @@
['(\u200C)*_', '\u200C'], ['(\u200C)*_', '\u200C'],
['(\u200D)*`', '\u200D']] ['(\u200D)*`', '\u200D']]
}; };
$.ime.register( asTransliteration );
$.ime.register( asTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -35,5 +35,4 @@
}; };
$.ime.register( beLatin ); $.ime.register( beLatin );
}( jQuery ) ); }( jQuery ) );

View File

@@ -81,7 +81,6 @@
['\\.', 'ю'], ['\\.', 'ю'],
['/', '.'], ['/', '.'],
['@', '"'], // 2 ['@', '"'], // 2
['#', '№'], // 3 ['#', '№'], // 3
['\\$', ';'], // 4 ['\\$', ';'], // 4
@@ -90,6 +89,6 @@
['&', '?']] // 7 ['&', '?']] // 7
// '*', '(' and ')' are the same // 8, 9, 0 // '*', '(' and ')' are the same // 8, 9, 0
}; };
$.ime.register( beTransliteration );
$.ime.register( beTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -189,6 +189,6 @@
['ঃ`', ':'], ['ঃ`', ':'],
['`', '']] ['`', '']]
}; };
$.ime.register( bnAvro );
$.ime.register( bnAvro );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var bnInScript = { var bnInScript = {
id: 'bn-inscript', id: 'bn-inscript',
name: 'ইনসক্িপ্ট', name: 'ইনসক্িপ্ট',
description: 'Bengali InScript input method', description: 'Bengali InScript input method',
date: '2012-10-10', date: '2012-10-10',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
@@ -118,6 +118,6 @@
['\\?', '৻'], ['\\?', '৻'],
['4', '₹']] ['4', '₹']]
}; };
$.ime.register( bnInScript );
$.ime.register( bnInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var bnInScript2 = { var bnInScript2 = {
id: 'bn-inscript2', id: 'bn-inscript2',
name: 'ইন্‌স্ক্ৰিপ্ ২', name: 'ইনস্ক্ৰিপ্ ২',
description: 'Enhanced InScript keyboard for Bengali language', description: 'Enhanced InScript keyboard for Bengali language',
date: '2013-02-09', date: '2013-02-09',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
@@ -97,9 +97,9 @@
], ],
patterns_x: [ patterns_x: [
['\\!', '৴'], ['\\!', '৴'],
['1', ''], ['1', '\u200d'],
['\\@', '৵'], ['\\@', '৵'],
['2', ''], ['2', '\u200c'],
['\\#', '৶'], ['\\#', '৶'],
['\\$', '৷'], ['\\$', '৷'],
['4', '₹'], ['4', '₹'],

View File

@@ -128,6 +128,6 @@
['X', 'ঔ'], ['X', 'ঔ'],
['C', 'ঐ']] ['C', 'ঐ']]
}; };
$.ime.register( bnNkb );
$.ime.register( bnNkb );
}( jQuery ) ); }( jQuery ) );

View File

@@ -97,6 +97,6 @@
['>', 'ঁ'], ['>', 'ঁ'],
['\\\\', '\u200C']] ['\\\\', '\u200C']]
}; };
$.ime.register( bnProbhat );
$.ime.register( bnProbhat );
}( jQuery ) ); }( jQuery ) );

View File

@@ -107,6 +107,6 @@
[',', '\u0970'], [',', '\u0970'],
['\\$', '\u20B9']] ['\\$', '\u20B9']]
}; };
$.ime.register( brxInscript );
$.ime.register( brxInscript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -112,6 +112,6 @@
['\\>', 'ऽ'], ['\\>', 'ऽ'],
['\\.', '॥']] ['\\.', '॥']]
}; };
$.ime.register( brxInScript2 );
$.ime.register( brxInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -0,0 +1,103 @@
( function ( $ ) {
'use strict';
var ckbTransliterationArkbd = {
id: 'ckb-transliteration-arkbd',
name: 'باشووری',
description: 'Central Kurdish keyboard based on Arabic keyboard',
date: '2013-07-06',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Çalak',
license: 'GPLv3',
version: '1.0',
patterns: [
['`', 'ژ'],
['1', '١'],
['2', '٢'],
['3', '٣'],
['4', '٤'],
['5', '٥'],
['6', '٦'],
['7', '٧'],
['8', '٨'],
['9', '٩'],
['0', '٠'],
['q', 'چ'],
['w', 'ص'],
['e', 'پ'],
['r', 'ق'],
['t', 'ف'],
['y', 'غ'],
['u', 'ع'],
['i', 'ھ'],
['o', 'خ'],
['p', 'ح'],
['\\[', 'ج'],
['\\]', 'د'],
['a', 'ش'],
['s', 'س'],
['d', 'ی'],
['f', 'ب'],
['g', 'ل'],
['h', 'ا'],
['j', 'ت'],
['k', 'ن'],
['l', 'م'],
['\\;', 'ک'],
['\'', 'گ'],
['z', 'ئ'],
['x', 'ء'],
['c', 'ۆ'],
['v', 'ر'],
['b', 'لا'],
['n', 'ى'],
['m', 'ە'],
['\\,', 'و'],
['\\.', 'ز'],
['\\%', '٪'],
['\\(', ')'],
['\\)', '('],
['Q', 'ض'],
['W', '}'],
['E', 'ث'],
['R', '{'],
['T', 'ڤ'],
['Y', 'إ'],
['U', 'ۊ'],
['I', '\''],
['O', '\"'],
['P', '؛'],
['\\{', '>'],
['\\}', '<'],
['A', '['],
['S', ']'],
['D', 'ێ'],
['F', ''],
['G', 'ڵ'],
['H', 'أ'],
['J', 'ـ'],
['K', '،'],
['L', '\\'],
['\"', 'ط'],
['Z', 'ڎ'],
['X', 'وو'],
['C', 'ؤ'],
['V', 'ڕ'],
['B', 'ڵا'],
['N', 'آ'],
['M', 'ة'],
['\\<', '٫'],
['\\>', '.'],
['\\?', '؟']
]
};
$.ime.register( ckbTransliterationArkbd );
}( jQuery ) );

View File

@@ -0,0 +1,104 @@
( function ( $ ) {
'use strict';
var ckbTransliterationFakbd = {
id: 'ckb-transliteration-fakbd',
name: 'ڕۆژھەڵاتی',
description: 'Central Kurdish keyboard based on Persian keyboard',
date: '2013-07-06',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Çalak',
license: 'GPLv3',
version: '1.0',
patterns: [
['`', 'پ'],
['1', '١'],
['2', '٢'],
['3', '٣'],
['4', '٤'],
['5', '٥'],
['6', '٦'],
['7', '٧'],
['8', '٨'],
['9', '٩'],
['0', '٠'],
['q', 'ڵ'],
['w', 'ۆ'],
['e', 'ێ'],
['r', 'ق'],
['t', 'ف'],
['y', 'غ'],
['u', 'ع'],
['i', 'ە'],
['o', 'خ'],
['p', 'ح'],
['\\[', 'ج'],
['\\]', 'چ'],
['\\\\', 'ژ'],
['a', 'ش'],
['s', 'س'],
['d', 'ی'],
['f', 'ب'],
['g', 'ل'],
['h', 'ا'],
['j', 'ت'],
['k', 'ن'],
['l', 'م'],
['\\;', 'ک'],
['\'', 'گ'],
['z', 'ڤ'],
['x', 'ھ'],
['c', 'ز'],
['v', 'ر'],
['b', 'ڕ'],
['n', 'د'],
['m', 'ئ'],
['\\,', 'و'],
['\\.', '.'],
['/', '/'],
['\\%', '٪'],
['\\(', ')'],
['\\)', '('],
['Q', 'ض'],
['W', 'ص'],
['E', 'ث'],
['R', 'ك'],
['T', '،'],
['Y', '؛'],
['U', '\\'],
['I', ']'],
['O', '['],
['P', '\''],
['\\{', '}'],
['\\}', '{'],
['A', 'ڎ'],
['S', 'إ'],
['D', 'ي'],
['F', 'ة'],
['G', 'ۀ'],
['H', 'آ'],
['J', 'ـ'],
['K', '»'],
['L', '«'],
['Z', 'ظ'],
['X', 'ط'],
['C', 'ژ'],
['V', 'ؤ'],
['B', 'ذ'],
['N', '\u200cأ'],
['M', 'ء'],
['\\<', '>'],
['\\>', '<'],
['\\?', '؟']
]
};
$.ime.register( ckbTransliterationFakbd );
}( jQuery ) );

View File

@@ -0,0 +1,100 @@
( function ( $ ) {
'use strict';
var ckbTransliterationLakbd = {
id: 'ckb-transliteration-lakbd',
name: 'لاتینی',
description: 'Central Kurdish keyboard based on Latin keyboard',
date: '2013-07-06',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Çalak',
license: 'GPLv3',
version: '1.0',
patterns: [
['1', '١'],
['2', '٢'],
['3', '٣'],
['4', '٤'],
['5', '٥'],
['6', '٦'],
['7', '٧'],
['8', '٨'],
['9', '٩'],
['0', '٠'],
['q', 'ق'],
['w', 'و'],
['e', 'ە'],
['r', 'ر'],
['t', 'ت'],
['y', 'ی'],
['u', 'ئ'],
['i', 'ح'],
['o', 'ۆ'],
['p', 'پ'],
['\\[', ']'],
['\\]', '['],
['a', 'ا'],
['s', 'س'],
['d', 'د'],
['f', 'ف'],
['g', 'گ'],
['h', 'ھ'],
['j', 'ژ'],
['k', 'ک'],
['l', 'ل'],
['\\;', '؛'],
['z', 'ز'],
['x', 'خ'],
['c', 'ج'],
['v', 'ڤ'],
['b', 'ب'],
['n', 'ن'],
['m', 'م'],
['\\,', '،'],
['\\.', '.'],
['\\%', '٪'],
['\\(', ')'],
['\\)', '('],
['Q', 'ڎ'],
['W', 'وو'],
['E', 'ێ'],
['R', 'ڕ'],
['T', 'ط'],
['Y', 'ي'],
['U', 'ء'],
['I', 'ع'],
['O', 'ؤ'],
['P', 'ث'],
['\\{', '}'],
['\\}', '{'],
['A', 'آ'],
['S', 'ش'],
['D', 'ذ'],
['F', 'إ'],
['G', 'غ'],
['H', 'ه'],
['J', 'أ'],
['K', 'ك'],
['L', 'ڵ'],
['Z', 'ض'],
['X', 'ص'],
['C', 'چ'],
['V', 'ظ'],
['B', 'ى'],
['N', 'ة'],
['M', 'ـ'],
['\\<', '>'],
['\\>', '<'],
['\\?', '؟']
]
};
$.ime.register( ckbTransliterationLakbd );
}( jQuery ) );

View File

@@ -109,5 +109,4 @@
}; };
$.ime.register( cv ); $.ime.register( cv );
}( jQuery ) ); }( jQuery ) );

View File

@@ -30,5 +30,4 @@
}; };
$.ime.register( cv ); $.ime.register( cv );
}( jQuery ) ); }( jQuery ) );

View File

@@ -18,7 +18,6 @@
// so it's better to give them names to avoid confusion. // so it's better to give them names to avoid confusion.
var cyrlPalochka; var cyrlPalochka;
cyrlPalochka = { cyrlPalochka = {
id: 'cyrl-palochka', id: 'cyrl-palochka',
name: 'Cyrillic Palochka', name: 'Cyrillic Palochka',

View File

@@ -46,5 +46,4 @@
}; };
$.ime.register( defs ); $.ime.register( defs );
}( jQuery ) ); }( jQuery ) );

View File

@@ -24,5 +24,4 @@
}; };
$.ime.register( de ); $.ime.register( de );
}( jQuery ) ); }( jQuery ) );

View File

@@ -114,6 +114,6 @@
['\\>', 'ऽ'], ['\\>', 'ऽ'],
['\\.', '॥']] ['\\.', '॥']]
}; };
$.ime.register( doiInScript2 ); $.ime.register( doiInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -92,5 +92,4 @@
}; };
$.ime.register( elKbd ); $.ime.register( elKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -56,5 +56,4 @@
}; };
$.ime.register( eoHF ); $.ime.register( eoHF );
}( jQuery ) ); }( jQuery ) );

View File

@@ -51,5 +51,4 @@
}; };
$.ime.register( eoH ); $.ime.register( eoH );
}( jQuery ) ); }( jQuery ) );

View File

@@ -52,5 +52,4 @@
}; };
$.ime.register( eoQ); $.ime.register( eoQ);
}( jQuery ) ); }( jQuery ) );

View File

@@ -2,7 +2,7 @@
'use strict'; 'use strict';
function prepareRules () { function prepareRules () {
var rules= [], chars; var rules = [], chars;
chars = { chars = {
C: 'Ĉ', C: 'Ĉ',

View File

@@ -62,5 +62,4 @@
}; };
$.ime.register( eoVi ); $.ime.register( eoVi );
}( jQuery ) ); }( jQuery ) );

View File

@@ -50,5 +50,4 @@
}; };
$.ime.register( eoX ); $.ime.register( eoX );
}( jQuery ) ); }( jQuery ) );

View File

@@ -27,6 +27,6 @@
['e', '€'] ['e', '€']
] ]
}; };
$.ime.register( fiTransliteration );
$.ime.register( fiTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -62,5 +62,4 @@
}; };
$.ime.register( defs ); $.ime.register( defs );
}( jQuery ) ); }( jQuery ) );

View File

@@ -185,8 +185,8 @@
['ʽ\\[', '˞'], // [[[ ['ʽ\\[', '˞'], // [[[
['\\[\\[', 'ʽ'], // [[ // Not IPA sanctioned ['\\[\\[', 'ʽ'], // [[ // Not IPA sanctioned
['(?:\u031a)\\]', ''], // ]]]] // Not IPA sanctioned ['(?:\u031a)\\]', ''], // ]]]] // Not IPA sanctioned
['\\]', '\u031a'], // ]]] // Combining left angle above ['ʼ\\]', '\u031a'], // ]]] // Combining left angle above
['\\]\\]', ''], // ]] ['\\]\\]', 'ʼ'], // ]]
['(?:\u032f)\\$', '\u0330'], // $$$ // Combining tilde below ['(?:\u032f)\\$', '\u0330'], // $$$ // Combining tilde below
['(?:\u0329)\\$', '\u032f'], // $$ // Combining inverted breve below ['(?:\u0329)\\$', '\u032f'], // $$ // Combining inverted breve below
@@ -206,7 +206,7 @@
['(?:\u033b)\\{', '\u033c'], // {{{{ // Combining seagull below ['(?:\u033b)\\{', '\u033c'], // {{{{ // Combining seagull below
['(?:\u033a)\\{', '\u033b'], // {{{ // Combining square below ['(?:\u033a)\\{', '\u033b'], // {{{ // Combining square below
['(?:\u032a)\\{', '\u033a'], // {{ // Combining inverted bridge below ['(?:\u032a)\\{', '\u033a'], // {{ // Combining inverted bridge below
['\\{', '\u032a'], // { // Combining bridge below ['\\{', '\u032a'], // { // Combining bridge below
['(?:\u0303)~', '\u0334'], // ~~ // Combining tilde overlay ['(?:\u0303)~', '\u0334'], // ~~ // Combining tilde overlay
['~', '\u0303'], // ~ // Combining tilde ['~', '\u0303'], // ~ // Combining tilde
@@ -235,6 +235,6 @@
['=<', '\u200d'] // Combining Grapheme Joiner ['=<', '\u200d'] // Combining Grapheme Joiner
] ]
}; };
$.ime.register( ipaSil );
$.ime.register( ipaSil );
} ( jQuery ) ); } ( jQuery ) );

View File

@@ -0,0 +1,189 @@
( function ( $ ) {
'use strict';
var ipaSil = {
id: 'ipa-x-sampa',
name: 'International Phonetic Alphabet - X-SAMPA',
description: 'International Phonetic Alphabet - X-SAMPA',
date: '2012-11-26',
URL: 'http://www.phon.ucl.ac.uk/home/sampa/x-sampa.htm',
author: 'mapping by John C. Wells; implementation by Amir E. Aharoni',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 4,
patterns: [
// Tones
['_/', '\u030C'], // Combining caron
['_\\\\', '\u0302'], // Combining circumflex accent
['_ɥ_T', '\u1dc4'], // _H_T - Combining macron-acute
['_β_L', '\u1dc5'], // _B_L - Combining grave-macron
['_ʁ_F', '\u1dc8'], // _R_F - Combining grave-acute-grave
['β\\\\', 'ʙ'],
['p\\\\', 'ɸ'],
['B', 'β'],
['F', 'ɱ'],
// ⱱ is not in X-SAMPA
['P', 'ʋ'],
['v\\\\', 'ʋ'],
['T', 'θ'],
['D', 'ð'],
['4', 'ɾ'],
['K', 'ɬ'],
['ɬ\\\\', 'ɮ'],
['r\\\\', 'ɹ'],
['S', 'ʃ'],
['Z', 'ʒ'],
['t`', 'ʈ'],
['d`', 'ɖ'],
['n`', 'ɳ'],
['r`', 'ɽ'],
['s`', 'ʂ'],
['z`', 'ʐ'],
['ɹ`', 'ɻ'],
['l`', 'ɭ'],
['ɲ\\\\', 'ɟ'],
['J', 'ɲ'],
['C', 'ç'],
['j\\\\', 'ʝ'],
['L', 'ʎ'],
['g', 'ɡ'],
['_N', '\u033c'], // Combining seagull below
['N', 'ŋ'],
['_G', 'ˠ'],
['G', 'ɣ'],
['ɯ\\\\', 'ɰ'],
['ʎ\\\\', 'ʟ'],
['ɣ\\\\', 'ɢ'],
['ŋ\\\\', 'ɴ'],
['ʁ\\\\', 'ʀ'],
['_X', '\u0306'], // Combining breve
['X', 'χ'],
['R', 'ʁ'],
['χ\\\\', 'ħ'],
['_ʔ\\\\', 'ˤ'],
['ʔ\\\\', 'ʕ'],
['\\?', 'ʔ'],
['h\\\\', 'ɦ'],
['ɔ\\\\', 'ʘ'],
['ǀ\\|\\\\', 'ǁ'],
['\\|\\\\', 'ǀ'],
['ꜜ\\\\', 'ǃ'], // !\ -> Retroflex (postalveolar) click
['_?=', '\u0329'], // Combining vertical line below
['\u0329\\\\', 'ǂ'],
['b_<', 'ɓ'],
['d_<', 'ɗ'],
['ɟ_<', 'ʄ'],
['ɡ_<', 'ɠ'],
['ɢ_<', 'ʛ'],
['W', 'ʍ'],
['H', 'ɥ'],
['ɥ\\\\', 'ʜ'],
['<\\\\', 'ʢ'],
['>\\\\', 'ʡ'],
['s\\\\', 'ɕ'],
['z\\\\', 'ʑ'],
['l\\\\', 'ɺ'],
['x\\\\', 'ɧ'],
['I', 'ɪ'],
['E', 'ɛ'],
['\\{', 'æ'],
['Y', 'ʏ'],
['2', 'ø'],
['9', 'œ'],
['&', 'ɶ'],
['1', 'ɨ'],
['ə\\\\', 'ɘ'],
['@', 'ə'],
['ɜ\\\\', 'ɞ'],
['3', 'ɜ'],
['6', 'ɐ'],
['_\\}', '\u031a'],
['\\}', 'ʉ'],
['8', 'ɵ'],
['M', 'ɯ'],
['7', 'ɤ'],
['V', 'ʌ'],
['_A', '\u0318'], // Combining right tack below
['A', 'ɑ'],
['U', 'ʊ'],
['_O', '\u0339'], // ++++ // Combining right half ring below
['O', 'ɔ'],
['Q', 'ɒ'],
['%', 'ˌ'],
['_"', '\u0308'], // Combining diaeresis
['"', 'ˈ'],
['ː\\\\', 'ˑ'],
[':', 'ː'],
['\\.<', '|'],
['\\|\\|', '‖'],
['-\\\\', '‿'],
['<ʁ>', '↗'], // <R>
['<ɱ>', '↘'], // <F>
['!', 'ꜜ'],
['_\\^', '\u032f'], // Combining inverted breve below
['\\^', 'ꜛ'],
// Diacritics and suprasegmentals
['_h', 'ʰ'],
['_w', 'ʷ'],
['_j', 'ʲ'],
// see above for ˠ
// see above for ˤ
['_n', 'ⁿ'],
['_l', 'ˡ'],
['`', '˞'],
['_>', 'ʼ'],
// See above for No audible release
// See above for Syllabic
// See above for Non-syllabic
['_k', '\u0330'], // Combining tilde below
['([ɱɮɳɖʐɻɽɭɲɟʝjŋɡɣɰ])_0', '$1\u030a'], // Combining ring above
['(.)_0', '$1\u0325'], // Combining ring below
['_v', '\u032c'], // Combining caron below
['_t', '\u0324'], // Combining diaeresis below
['_d', '\u032a'], // Combining bridge below
['_a', '\u033a'], // Combining inverted bridge below
['_m', '\u033b'], // Combining square below
// See above for linguolabial
['_?~', '\u0303'], // Combining tilde
['_e', '\u0334'], // Combining tilde overlay
// See above for centralised
['_x', '\u033d'], // Combining x above
// See above for extra short
['_\\+', '\u031f'], // Combining plus sign below
['_-', '\u0320'], // Combining minus sign below
['_r', '\u031d'], // Combining up tack below
['_o', '\u031e'], // Combining down tack below
// See above for advanced tongue root
['_q', '\u0319'], // Combining left tack below
// See above for more rounded
['_c', '\u031c']
]
};
$.ime.register( ipaSil );
} ( jQuery ) );

View File

@@ -108,6 +108,6 @@
['$', '\u20B9'] ] ['$', '\u20B9'] ]
}; };
$.ime.register( guInscript );
$.ime.register( guInscript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -16,7 +16,7 @@
['2', '૨'], ['2', '૨'],
['\\#', '્ર'], ['\\#', '્ર'],
['3', '૩'], ['3', '૩'],
['$', 'ર્'], ['\\$', 'ર્'],
['4', '૪'], ['4', '૪'],
['5', '૫'], ['5', '૫'],
['6', '૬'], ['6', '૬'],
@@ -73,7 +73,7 @@
['l', 'ત'], ['l', 'ત'],
[':', 'છ'], [':', 'છ'],
[';', 'ચ'], [';', 'ચ'],
['"', 'ઠ'], ['\"', 'ઠ'],
['\\\'', 'ટ'], ['\\\'', 'ટ'],
['\\|', 'ઑ'], ['\\|', 'ઑ'],
['\\', 'ૉ'], ['\\', 'ૉ'],
@@ -98,8 +98,8 @@
['\\*', 'શ્ર'] ['\\*', 'શ્ર']
], ],
patterns_x: [ patterns_x: [
['1', ''], ['1', '\u200d'],
['2', ''], ['2', '\u200c'],
['4', '₹'], ['4', '₹'],
['\\+', 'ૠ'], ['\\+', 'ૠ'],
['\\=', 'ૄ'], ['\\=', 'ૄ'],
@@ -113,6 +113,6 @@
['\\.', 'ઽ'] ['\\.', 'ઽ']
] ]
}; };
$.ime.register( guInScript2 );
$.ime.register( guInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -80,7 +80,7 @@
['"', 'ઊ'], ['"', 'ઊ'],
['\\\'', 'ઉ'], ['\\\'', 'ઉ'],
['\\|', 'ઑ'], ['\\|', 'ઑ'],
['\\', 'ૉ'], ['\\\\', 'ૉ'],
['Z', 'ઁ'], ['Z', 'ઁ'],
['z', 'ઙ'], ['z', 'ઙ'],
['x', 'ષ'], ['x', 'ષ'],
@@ -105,6 +105,6 @@
['\\^', 'ત્ર'], ['\\^', 'ત્ર'],
['\\*', 'શ્ર']] ['\\*', 'શ્ર']]
}; };
$.ime.register( guPhonetic );
$.ime.register( guPhonetic );
}( jQuery ) ); }( jQuery ) );

View File

@@ -151,7 +151,6 @@
['J', '઼'], // Nukta ['J', '઼'], // Nukta
['(\u200C)*`', '\u200C']] // ZWNJ ['(\u200C)*`', '\u200C']] // ZWNJ
}; };
$.ime.register( guTransliteration ); $.ime.register( guTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -63,5 +63,4 @@
}; };
$.ime.register( heStandardExtOnly ); $.ime.register( heStandardExtOnly );
}( jQuery ) ); }( jQuery ) );

View File

@@ -105,5 +105,4 @@
}; };
$.ime.register( hiBolNagri ); $.ime.register( hiBolNagri );
}( jQuery ) ); }( jQuery ) );

View File

@@ -117,6 +117,6 @@
[ '\\$', '\u20B9' ] ] [ '\\$', '\u20B9' ] ]
}; };
$.ime.register( hiInScript );
$.ime.register( hiInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -122,6 +122,6 @@
['\\.', '॥'] ['\\.', '॥']
] ]
}; };
$.ime.register( hiInScript2 );
$.ime.register( hiInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -10,6 +10,7 @@
license: 'GPLv3', license: 'GPLv3',
version: '1.0', version: '1.0',
patterns: [ patterns: [
['्f', '्\u200c'],
['\\~', 'ऎ'], ['\\~', 'ऎ'],
['\\`","ॆ'], ['\\`","ॆ'],
['\\!', 'ऍ'], ['\\!', 'ऍ'],
@@ -102,10 +103,9 @@
['/', 'ए'], ['/', 'ए'],
['\\^', 'ज्ञ'], ['\\^', 'ज्ञ'],
['X', 'क्ष'], ['X', 'क्ष'],
['\\*', 'श्र'], ['\\*', 'श्र']
['ff', '्‌']
] ]
}; };
$.ime.register( hiPhonetic );
$.ime.register( hiPhonetic );
}( jQuery ) ); }( jQuery ) );

View File

@@ -193,6 +193,6 @@
[ '([क-ह]़?)्(.)', '\\~', '$1्$2' ], [ '([क-ह]़?)्(.)', '\\~', '$1्$2' ],
[ '([क-ह]़?)्(.)', '$1$2' ] ] [ '([क-ह]़?)्(.)', '$1$2' ] ]
}; };
$.ime.register( hiTransliteration );
$.ime.register( hiTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -57,5 +57,4 @@
}; };
$.ime.register( hrKbd ); $.ime.register( hrKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -0,0 +1,169 @@
/**
* Eastern Armenian phonetic layout introduced by Microsoft in Windows 2000 and depreceated in Windows 8.
* Original layout was created in late 90-ies based on Unicode 3, and was never updated since release,
* causing it to be incompatible with Unicode.
*
* This layout version complies with Unicode 6.1, including all valid Armenian punctuation signs,
* mijaket (outside of main Armenian Unicode range) and Dram (AMD) sign under USD sign (Shift + 4).
* Please, double-check with Unicode before making any changes here.
*
* Layout supports extended keys, with AltGr (Alt or Alt+Ctrl on some systems) + key,
* producing digits and punctuation marks from standard US keyboard layout.
*/
( function ( $ ) {
'use strict';
var hyEmslegacy = {
id: 'hy-emslegacy',
name: 'ՄՍ Արևելահայերեն (հնացած)',
description: 'Legacy keyboard layout for Eastern Armenian by Microsoft',
date: '2013-02-11',
URL: 'http://www.microsoft.com/resources/msdn/goglobal/keyboards/kbdarme.html',
author: 'Parag Nemade, Aleksey Chalabyan',
license: 'GPLv3',
version: '1.1',
patterns: [
['1', '։'],
['\\!', '1'],
['2', 'ձ'],
['\\@', 'Ձ'],
['3', 'յ'],
['\\#', 'Յ'],
['4', '՛'],
['\\$', '֏'],
['5', ','],
['\\%', '4'],
['6', '-'],
['\\^', '9'],
['7', ''],
['\\&', 'և'],
['8', '«'],
['\\*', '('],
['9', '»'],
['\\(', ')'],
['0', 'օ'],
['\\)', 'Օ'],
['\\-', 'ռ'],
['\\_', 'Ռ'],
['\\=', 'ժ'],
['\\+', 'Ժ'],
['\\`', '՝'],
['\\~', '՜'],
['q', 'խ'],
['Q', 'Խ'],
['w', 'ւ'],
['W', 'Ւ'],
['e', 'է'],
['E', 'Է'],
['r', 'ր'],
['R', 'Ր'],
['t', 'տ'],
['T', 'Տ'],
['y', 'ե'],
['Y', 'Ե'],
['u', 'ը'],
['U', 'Ը'],
['i', 'ի'],
['I', 'Ի'],
['o', 'ո'],
['O', 'Ո'],
['p', 'պ'],
['P', 'Պ'],
['\\[', 'չ'],
['\\{', 'Չ'],
['\\]', 'ջ'],
['\\}', 'Ջ'],
['\\\\', '\''],
['\\|', '՞'],
['a', 'ա'],
['A', 'Ա'],
['s', 'ս'],
['S', 'Ս'],
['d', 'դ'],
['D', 'Դ'],
['f', 'ֆ'],
['F', 'Ֆ'],
['g', 'ք'],
['G', 'Ք'],
['h', 'հ'],
['H', 'Հ'],
['j', 'ճ'],
['J', 'Ճ'],
['k', 'կ'],
['K', 'Կ'],
['l', 'լ'],
['L', 'Լ'],
[';', 'թ'],
[':', 'Թ'],
['\'', 'փ'],
['\"', 'Փ'],
['z', 'զ'],
['Z', 'Զ'],
['x', 'ց'],
['X', 'Ց'],
['c', 'գ'],
['C', 'Գ'],
['v', 'վ'],
['V', 'Վ'],
['b', 'բ'],
['B', 'Բ'],
['n', 'ն'],
['N', 'Ն'],
['m', 'մ'],
['M', 'Մ'],
[',', 'շ'],
['\\<', 'Շ'],
['\\.', 'ղ'],
['\\>', 'Ղ'],
['/', 'ծ'],
['\\?', 'Ծ']
],
patterns_x: [
['1', '1'],
['\\!', '!'],
['2', '2'],
['\\@', '@'],
['3', '3'],
['\\#', '#'],
['4', '4'],
['\\$', '$'],
['5', '5'],
['\\%', '%'],
['6', '6'],
['\\^', '^'],
['7', '7'],
['\\&', '&'],
['8', '8'],
['\\*', '*'],
['9', '9'],
['\\(', '('],
['0', '0'],
['\\)', ')'],
['\\-', '-'],
['\\_', '_'],
['\\=', '='],
['\\+', '+'],
['\\`', '`'],
['\\~', '~'],
['\\[', '['],
['\\{', '{'],
['\\]', ']'],
['\\}', '}'],
['\\\\', '\\'],
['\\|', '|'],
[';', ';'],
['\\:', ':'],
['\'', '\''],
['\"', '\"'],
['\\<', '<'],
['\\.', '.'],
['\\>', '>'],
['/', '/'],
['\\?', '?']
]
};
$.ime.register( hyEmslegacy );
}( jQuery ) );

View File

@@ -0,0 +1,172 @@
/**
* This is a phonetic layout for the Armenian language (hy, arm, hye).
* The layout comes from DOS times, and was later popularised by KDWin and WinKeys keyboard "drivers".
* While not as efficient and well-thought as the official typewriter layout, it is very popular as
* it uses similary sounding Latin letters, which is very handy, as keyboards in Armenia
* don't come engraved with Armenian letters.
*
* This layout complies with Unicode 6.1, including all valid Armenian punctuation signs,
* mijaket (outside of main Armenian Unicode range) and Dram (AMD) sign.
* Please, double-check with Unicode before making any changes here.
*
* Layout supports extended keys, with AltGr (Alt or Alt+Ctrl on some systems) + key,
* producing digits and punctuation marks from standard US keyboard layout.
*/
( function ( $ ) {
'use strict';
var hyEphonetic = {
id: 'hy-ephonetic',
name: 'Հայերեն Հնչյունային',
description: 'Armenian phonetic (Eastern) keyboard layout',
date: '2013-07-06',
URL: 'http://hy.am',
author: 'Aleksey Chalabyan Ալեքսեյ Չալաբյան a.k.a Xelgen',
license: 'GPLv3',
version: '1.0',
contextLength: 0,
maxKeyLength: 0,
patterns: [
['1', 'է'],
['\\!', 'Է'],
['2', 'թ'],
['\\@', 'Թ'],
['3', 'փ'],
['\\#', 'Փ'],
['4', 'ձ'],
['\\$', 'Ձ'],
['5', 'ջ'],
['\\%', 'Ջ'],
['6', '֏'],
['\\^', '('],
['7', 'և'],
['\\&', ')'],
['8', 'ր'],
['\\*', 'Ր'],
['9', 'չ'],
['\\(', 'Չ'],
['0', 'ճ'],
['\\)', 'Ճ'],
['\\-', ''],
['\\_', '—'],
['\\=', 'ժ'],
['\\+', 'Ժ'],
['\\`', '՝'],
['\\~', '՜'],
['q', 'ք'],
['Q', 'Ք'],
['w', 'ո'],
['W', 'Ո'],
['e', 'ե'],
['E', 'Ե'],
['r', 'ռ'],
['R', 'Ռ'],
['t', 'տ'],
['T', 'Տ'],
['y', 'ը'],
['Y', 'Ը'],
['u', 'ւ'],
['U', 'Ւ'],
['i', 'ի'],
['I', 'Ի'],
['o', 'օ'],
['O', 'Օ'],
['p', 'պ'],
['P', 'Պ'],
['\\[', 'խ'],
['\\{', 'Խ'],
['\\]', 'ծ'],
['\\}', 'Ծ'],
['\\\\', 'շ'],
['\\|', 'Շ'],
['a', 'ա'],
['A', 'Ա'],
['s', 'ս'],
['S', 'Ս'],
['d', 'դ'],
['D', 'Դ'],
['f', 'ֆ'],
['F', 'Ֆ'],
['g', 'գ'],
['G', 'Գ'],
['h', 'հ'],
['H', 'Հ'],
['j', 'յ'],
['J', 'Յ'],
['k', 'կ'],
['K', 'Կ'],
['l', 'լ'],
['L', 'Լ'],
[';', ';'],
[':', '։'],
['\'', '՛'],
['\"', '"'],
['z', 'զ'],
['Z', 'Զ'],
['x', 'ղ'],
['X', 'Ղ'],
['c', 'ց'],
['C', 'Ց'],
['v', 'վ'],
['V', 'Վ'],
['b', 'բ'],
['B', 'Բ'],
['n', 'ն'],
['N', 'Ն'],
['m', 'մ'],
['M', 'Մ'],
[',', ','],
['\\<', '«'],
['\\.', ''],
['\\>', '»'],
['/', '…'],
['\\?', '՞']
],
patterns_x: [
['1', '1'],
['\\!', '!'],
['2', '2'],
['\\@', '@'],
['3', '3'],
['\\#', '#'],
['4', '4'],
['\\$', '$'],
['5', '5'],
['\\%', '%'],
['6', '6'],
['\\^', '^'],
['7', '7'],
['\\&', '&'],
['8', '8'],
['\\*', '*'],
['9', '9'],
['\\(', '('],
['0', '0'],
['\\)', ')'],
['\\-', '-'],
['\\_', '_'],
['\\=', '='],
['\\+', '+'],
['\\`', '`'],
['\\~', '~'],
['\\[', '['],
['\\{', '{'],
['\\]', ']'],
['\\}', '}'],
['\\\\', '\\'],
['\\|', '|'],
[';', ';'],
['\\:', ':'],
['\'', '\''],
['\"', '\"'],
['\\<', '<'],
['\\.', '.'],
['\\>', '>'],
['/', '/'],
['\\?', '?']
]
};
$.ime.register( hyEphonetic );
}( jQuery ) );

View File

@@ -0,0 +1,172 @@
/**
* This is alternative phonetic layout for Armenian language (hy, arm, hye).
* Based on Armenian phonetic layout, it improves few things, by placing ր under latin r,
* as ր is much more frequent in Armenian. ռ goes under 8, where ր is in standart phonetic.
* Another change, which is not yet in xkb, ( as of July 2013), is swapping ֆ and թ: Ֆ is
* placed under F, where left index finger is, but is the least used letter in Armenian,
* so much more used թ takes it place, comming down from 2.
*
* This layout complies with Unicode 6.1, including all valid Armenian punctuation signs,
* mijaket (outside of main Armenian Unicode range) and Dram (AMD) sign.
* Please, double-check with Unicode before making any changes here.
*
* Layout supports extended keys, with AltGr (Alt or Alt+Ctrl on some systems) + key,
* producing digits and punctuation marks from standard US keyboard layout.
*/
( function ( $ ) {
'use strict';
var hyEphonetic = {
id: 'hy-ephoneticalt',
name: 'Հայերեն Հնչյունային (R->Ր, F->Թ)',
description: 'Eastern Armenian alternative phonetic keyboard layout',
date: '2013-07-08',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Aleksey Chalabyan Ալեքսեյ Չալաբյան a.k.a Xelgen',
license: 'GPLv3',
version: '1.0',
patterns: [
['1', 'է'],
['\\!', 'Է'],
['2', 'ֆ'],
['\\@', 'Ֆ'],
['3', 'փ'],
['\\#', 'Փ'],
['4', 'ձ'],
['\\$', 'Ձ'],
['5', 'ջ'],
['\\%', 'Ջ'],
['6', '֏'],
['\\^', '('],
['7', 'և'],
['\\&', ')'],
['8', 'ռ'],
['\\*', 'Ռ'],
['9', 'չ'],
['\\(', 'Չ'],
['0', 'ճ'],
['\\)', 'Ճ'],
['\\-', ''],
['\\_', '—'],
['\\=', 'ժ'],
['\\+', 'Ժ'],
['\\`', '՝'],
['\\~', '՜'],
['q', 'ք'],
['Q', 'Ք'],
['w', 'ո'],
['W', 'Ո'],
['e', 'ե'],
['E', 'Ե'],
['r', 'ր'],
['R', 'Ր'],
['t', 'տ'],
['T', 'Տ'],
['y', 'ը'],
['Y', 'Ը'],
['u', 'ւ'],
['U', 'Ւ'],
['i', 'ի'],
['I', 'Ի'],
['o', 'օ'],
['O', 'Օ'],
['p', 'պ'],
['P', 'Պ'],
['\\[', 'խ'],
['\\{', 'Խ'],
['\\]', 'ծ'],
['\\}', 'Ծ'],
['\\\\', 'շ'],
['\\|', 'Շ'],
['a', 'ա'],
['A', 'Ա'],
['s', 'ս'],
['S', 'Ս'],
['d', 'դ'],
['D', 'Դ'],
['f', 'թ'],
['F', 'Թ'],
['g', 'գ'],
['G', 'Գ'],
['h', 'հ'],
['H', 'Հ'],
['j', 'յ'],
['J', 'Յ'],
['k', 'կ'],
['K', 'Կ'],
['l', 'լ'],
['L', 'Լ'],
[';', ';'],
[':', '։'],
['\'', '՛'],
['\"', '"'],
['z', 'զ'],
['Z', 'Զ'],
['x', 'ղ'],
['X', 'Ղ'],
['c', 'ց'],
['C', 'Ց'],
['v', 'վ'],
['V', 'Վ'],
['b', 'բ'],
['B', 'Բ'],
['n', 'ն'],
['N', 'Ն'],
['m', 'մ'],
['M', 'Մ'],
[',', ','],
['\\<', '«'],
['\\.', ''],
['\\>', '»'],
['/', '…'],
['\\?', '՞']
],
patterns_x: [
['1', '1'],
['\\!', '!'],
['2', '2'],
['\\@', '@'],
['3', '3'],
['\\#', '#'],
['4', '4'],
['\\$', '$'],
['5', '5'],
['\\%', '%'],
['6', '6'],
['\\^', '^'],
['7', '7'],
['\\&', '&'],
['8', '8'],
['\\*', '*'],
['9', '9'],
['\\(', '('],
['0', '0'],
['\\)', ')'],
['\\-', '-'],
['\\_', '_'],
['\\=', '='],
['\\+', '+'],
['\\`', '`'],
['\\~', '~'],
['\\[', '['],
['\\{', '{'],
['\\]', ']'],
['\\}', '}'],
['\\\\', '\\'],
['\\|', '|'],
[';', ';'],
['\\:', ':'],
['\'', '\''],
['\"', '\"'],
['\\<', '<'],
['\\.', '.'],
['\\>', '>'],
['/', '/'],
['\\?', '?']
]
};
$.ime.register( hyEphonetic );
}( jQuery ) );

View File

@@ -1,113 +0,0 @@
( function ( $ ) {
'use strict';
var hyKbd = {
id: 'hy-kbd',
name: 'kbd',
description: 'Eastern Armenian keyboard layout',
date: '2013-02-11',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Parag Nemade',
license: 'GPLv3',
version: '1.0',
patterns: [
['1', ':'],
['\\!', '1'],
['2', 'ձ'],
['\\@', 'Ձ'],
['3', 'յ'],
['\\#', 'Յ'],
['4', '՛'],
['\\$', '3'],
['5', ','],
['\\%', '4'],
['6', '-'],
['\\^', '9'],
['7', '.'],
['\\&', 'և'],
['8', '«'],
['\\*', '('],
['9', '»'],
['\\(', ')'],
['0', 'օ'],
['\\)', 'Օ'],
['\\-', 'ռ'],
['\\_', 'Ռ'],
['\\=', 'ժ'],
['\\+', 'Ժ'],
['\\`', '՝'],
['\\~', '՜'],
['q', 'խ'],
['Q', 'Խ'],
['w', 'ւ'],
['W', 'Ւ'],
['e', 'է'],
['E', 'Է'],
['r', 'ր'],
['R', 'Ր'],
['t', 'տ'],
['T', 'Տ'],
['y', 'ե'],
['Y', 'Ե'],
['u', 'ը'],
['U', 'Ը'],
['i', 'ի'],
['I', 'Ի'],
['o', 'ո'],
['O', 'Ո'],
['p', 'պ'],
['P', 'Պ'],
['\\[', 'չ'],
['\\{', 'Չ'],
['\\]', 'ջ'],
['\\}', 'Ջ'],
['\\', '\''],
['\\|', '՞'],
['a', 'ա'],
['A', 'Ա'],
['s', 'ս'],
['S', 'Ս'],
['d', 'դ'],
['D', 'Դ'],
['f', 'ֆ'],
['F', 'Ֆ'],
['g', 'ք'],
['G', 'Ք'],
['h', 'հ'],
['H', 'Հ'],
['j', 'ճ'],
['J', 'Ճ'],
['k', 'կ'],
['K', 'Կ'],
['l', 'լ'],
['L', 'Լ'],
[';', 'թ'],
[':', 'Թ'],
['\'', 'փ'],
['\"', 'Փ'],
['z', 'զ'],
['Z', 'Զ'],
['x', 'ց'],
['X', 'Ց'],
['c', 'գ'],
['C', 'Գ'],
['v', 'վ'],
['V', 'Վ'],
['b', 'բ'],
['B', 'Բ'],
['n', 'ն'],
['N', 'Ն'],
['m', 'մ'],
['M', 'Մ'],
[',', 'շ'],
['\\<', 'Շ'],
['.', 'ղ'],
['\\>', 'Ղ'],
['/', 'ծ'],
['\\?', 'Ծ']
]
};
$.ime.register( hyKbd );
}( jQuery ) );

View File

@@ -0,0 +1,168 @@
/**
* Armenian typewriter layout
* Based on themonly official state standard for Armenian keyboard layout:
* http://www.sarm.am/en/standarts/view/5741
*
* This layout complies with Unicode 6.1, including all valid Armenian punctuation signs,
* mijaket (outside of main Armenian Unicode range) and Dram (AMD) sign.
* Please, double-check with Unicode before making any changes here.
*
* Layout supports extended keys, with AltGr (Alt or Alt+Ctrl on some systems) + key,
* producing digits and punctuation marks from standard US keyboard layout.
*/
( function ( $ ) {
'use strict';
var hyTypewriter = {
id: 'hy-typewriter',
name: 'Հայերեն Գրամեքենա',
description: 'Armenian typewriter keyboard layout',
date: '2013-07-08',
URL: 'http://www.sarm.am/en/standarts/view/5741',
author: 'Aleksey Chalabyan Ալեքսեյ Չալաբյան a.k.a Xelgen',
license: 'GPLv3',
version: '1.0',
patterns: [
['1', 'ֆ'],
['\\!', 'Ֆ'],
['2', 'ձ'],
['\\@', 'Ձ'],
['3', '-'],
['\\#', ''],
['4', ','],
['\\$', '֏'],
['5', '։'],
['\\%', '֊'],
['6', '՞'],
['\\^', '—'],
['7', ''],
['\\&', 'և'],
['8', '՛'],
['\\*', '՚'],
['9', ')'],
['\\(', '('],
['0', 'օ'],
['\\)', 'Օ'],
['\\-', 'է'],
['\\_', 'Է'],
['\\=', 'ղ'],
['\\+', 'Ղ'],
['\\`', '՝'],
['\\~', '՜'],
['q', 'ճ'],
['Q', 'Ճ'],
['w', 'փ'],
['W', 'Փ'],
['e', 'բ'],
['E', 'Բ'],
['r', 'ս'],
['R', 'Ս'],
['t', 'մ'],
['T', 'Մ'],
['y', 'ո'],
['Y', 'Ո'],
['u', 'ւ'],
['U', 'Ւ'],
['i', 'կ'],
['I', 'Կ'],
['o', 'ը'],
['O', 'Ը'],
['p', 'թ'],
['P', 'Թ'],
['\\[', 'ծ'],
['\\{', 'Ծ'],
['\\]', 'ց'],
['\\}', 'Ց'],
['\\\\', '»'],
['\\|', '«'],
['a', 'ջ'],
['A', 'Ջ'],
['s', 'վ'],
['S', 'Վ'],
['d', 'գ'],
['D', 'Գ'],
['f', 'ե'],
['F', 'Ե'],
['g', 'ա'],
['G', 'Ա'],
['h', 'ն'],
['H', 'Ն'],
['j', 'ի'],
['J', 'Ի'],
['k', 'տ'],
['K', 'Տ'],
['l', 'հ'],
['L', 'Հ'],
[';', 'պ'],
[':', 'Պ'],
['\'', 'ր'],
['\"', 'Ր'],
['z', 'ժ'],
['Z', 'Ժ'],
['x', 'դ'],
['X', 'Դ'],
['c', 'չ'],
['C', 'Չ'],
['v', 'յ'],
['V', 'Յ'],
['b', 'զ'],
['B', 'Զ'],
['n', 'լ'],
['N', 'Լ'],
['m', 'ք'],
['M', 'Ք'],
[',', 'խ'],
['\\<', 'Խ'],
['\\.', 'շ'],
['\\>', 'Շ'],
['/', 'ռ'],
['\\?', 'Ռ']
],
patterns_x: [
['1', '1'],
['\\!', '!'],
['2', '2'],
['\\@', '@'],
['3', '3'],
['\\#', '#'],
['4', '4'],
['\\$', '$'],
['5', '5'],
['\\%', '%'],
['6', '6'],
['\\^', '^'],
['7', '7'],
['\\&', '&'],
['8', '8'],
['\\*', '*'],
['9', '9'],
['\\(', '('],
['0', '0'],
['\\)', ')'],
['\\-', '-'],
['\\_', '_'],
['\\=', '='],
['\\+', '+'],
['\\`', '`'],
['\\~', '~'],
['\\[', '['],
['\\{', '{'],
['\\]', ']'],
['\\}', '}'],
['\\\\', '\\'],
['\\|', '|'],
[';', ';'],
['\\:', ':'],
['\'', '\''],
['\"', '\"'],
['\\<', '<'],
['\\.', '.'],
['\\>', '>'],
['/', '/'],
['\\?', '?']
]
};
$.ime.register( hyTypewriter );
}( jQuery ) );

View File

@@ -0,0 +1,169 @@
/**
* Western Armenian phonetic layout introduced by Microsoft in Windows 2000 and depreceated in Windows 8.
* Original layout was created in late 90-ies based on Unicode 3, and was never updated since release,
* causing it to be incompatible with Unicode.
*
* This layout version complies with Unicode 6.1, including all valid Armenian punctuation signs,
* mijaket (outside of main Armenian Unicode range) and Dram (AMD) sign under USD sign (Shift + 4).
* Please, double-check with Unicode before making any changes here.
*
* Layout supports extended keys, with AltGr (Alt or Alt+Ctrl on some systems) + key,
* producing digits and punctuation marks from standard US keyboard layout.
*/
( function ( $ ) {
'use strict';
var hyWmslegacy = {
id: 'hy-wmslegacy',
name: 'ՄՍ Արևմտահայերեն (հնացած)',
description: 'Legacy keyboard layout for Western Armenian by Microsoft',
date: '2013-07-08',
URL: 'http://www.microsoft.com/resources/msdn/goglobal/keyboards/kbdarmw.html',
author: 'Aleksey Chalabyan Ալեքսեյ Չալաբյան a.k.a Xelgen',
license: 'GPLv3',
version: '1.0',
patterns: [
['1', '։'],
['\\!', '1'],
['2', 'ձ'],
['\\@', 'Ձ'],
['3', 'յ'],
['\\#', 'Յ'],
['4', '՛'],
['\\$', '֏'],
['5', ','],
['\\%', '4'],
['6', '-'],
['\\^', '9'],
['7', ''],
['\\&', 'և'],
['8', '«'],
['\\*', '('],
['9', '»'],
['\\(', ')'],
['0', 'օ'],
['\\)', 'Օ'],
['\\-', 'ռ'],
['\\_', 'Ռ'],
['\\=', 'ժ'],
['\\+', 'Ժ'],
['\\`', '՝'],
['\\~', '՜'],
['q', 'խ'],
['Q', 'Խ'],
['w', 'վ'],
['W', 'Վ'],
['e', 'է'],
['E', 'Է'],
['r', 'ր'],
['R', 'Ր'],
['t', 'դ'],
['T', 'Դ'],
['y', 'ե'],
['Y', 'Ե'],
['u', 'ը'],
['U', 'Ը'],
['i', 'ի'],
['I', 'Ի'],
['o', 'ո'],
['O', 'Ո'],
['p', 'բ'],
['P', 'Բ'],
['\\[', 'չ'],
['\\{', 'Չ'],
['\\]', 'ջ'],
['\\}', 'Ջ'],
['\\\\', '\''],
['\\|', '՞'],
['a', 'ա'],
['A', 'Ա'],
['s', 'ս'],
['S', 'Ս'],
['d', 'տ'],
['D', 'Տ'],
['f', 'ֆ'],
['F', 'Ֆ'],
['g', 'կ'],
['G', 'Կ'],
['h', 'հ'],
['H', 'Հ'],
['j', 'ճ'],
['J', 'Ճ'],
['k', 'ք'],
['K', 'Ք'],
['l', 'լ'],
['L', 'Լ'],
[';', 'թ'],
[':', 'Թ'],
['\'', 'փ'],
['\"', 'Փ'],
['z', 'զ'],
['Z', 'Զ'],
['x', 'ց'],
['X', 'Ց'],
['c', 'գ'],
['C', 'Գ'],
['v', 'ւ'],
['V', 'Ւ'],
['b', 'պ'],
['B', 'Պ'],
['n', 'ն'],
['N', 'Ն'],
['m', 'մ'],
['M', 'Մ'],
[',', 'շ'],
['\\<', 'Շ'],
['\\.', 'ղ'],
['\\>', 'Ղ'],
['/', 'ծ'],
['\\?', 'Ծ']
],
patterns_x: [
['1', '1'],
['\\!', '!'],
['2', '2'],
['\\@', '@'],
['3', '3'],
['\\#', '#'],
['4', '4'],
['\\$', '$'],
['5', '5'],
['\\%', '%'],
['6', '6'],
['\\^', '^'],
['7', '7'],
['\\&', '&'],
['8', '8'],
['\\*', '*'],
['9', '9'],
['\\(', '('],
['0', '0'],
['\\)', ')'],
['\\-', '-'],
['\\_', '_'],
['\\=', '='],
['\\+', '+'],
['\\`', '`'],
['\\~', '~'],
['\\[', '['],
['\\{', '{'],
['\\]', ']'],
['\\}', '}'],
['\\\\', '\\'],
['\\|', '|'],
[';', ';'],
['\\:', ':'],
['\'', '\''],
['\"', '\"'],
['\\<', '<'],
['\\.', '.'],
['\\>', '>'],
['/', '/'],
['\\?', '?']
]
};
$.ime.register( hyWmslegacy );
}( jQuery ) );

View File

@@ -5,213 +5,269 @@
id: 'jv-transliteration', id: 'jv-transliteration',
name: 'Javanese', name: 'Javanese',
description: 'Javanese transliteration', description: 'Javanese transliteration',
date: '2012-09-01', date: '2013-08-10',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Bennylin', author: 'Bennylin',
license: 'GPLv3', license: 'GPLv3',
version: '1.0', version: '1.1',
contextLength: 1, contextLength: 1,
maxKeyLength: 2, maxKeyLength: 2,
patterns: [ patterns: [
[ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ], [ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ],
['ꦝ꧀q', '','ꦞ꧀'], // Dha murda
['ꦚ꧀q', '','ꦘ꧀'], // Nya murda
['ꦧ꧀q', '','ꦨ꧀'], // Ba murda
['ꦕ꧀q', '','ꦖ꧀'], // Ca murda(?)
['ꦒ꧀q', '','ꦓ꧀'], // Ga murda
['ꦗ꧀q', '','ꦙ꧀'], // Ja Mahaprana
['ꦏ꧀q', '','ꦑ꧀'], // Ka murda
['ꦤ꧀q', '','ꦟ꧀'], // Na murda
['ꦥ꧀q', '','ꦦ꧀'], // Pa murda
['ꦱ꧀q', '','ꦯ꧀'], // Sa murda
['ꦠ꧀q', '','ꦡ꧀'], // Ta murda
[ '꧀ꦃa', '', '꧀​ꦲ' ], // pangkon and start with h // VII. Vocal ended with special pasangan followed by vocal = back to normal
[ '꧀ꦃe', '', '꧀​ꦲꦺ' ], // pangkon and start with h ['ꦃa', '',''], // vocal ended with -h followed by a
[ '꧀ꦃi', '', '꧀​ꦲꦶ' ], // pangkon and start with h ['ꦃe', '','ꦲꦺ'], // vocal ended with -h followed by e
[ '꧀ꦃo', '', '꧀​ꦲꦺꦴ' ], // pangkon and start with h ['ꦃi', '','ꦲꦶ'], // vocal ended with -h followed by i
[ '꧀ꦃu', '', '꧀​ꦲꦸ' ], // pangkon and start with h ['ꦃo', '','ꦲꦺꦴ'], // vocal ended with -h followed by o
['ꦃu', '','ꦲꦸ'], // vocal ended with -h followed by u
[ 'ꦂa', '', '꧀​ꦫ' ], // pangkon and start with r ['ꦂa', '','ꦫ'], // vocal ended with -r followed by a
[ 'ꦂe', '', '꧀​ꦫꦺ' ], // pangkon and start with r ['ꦂe', '','ꦫꦺ'], // vocal ended with -r followed by e
[ 'ꦂi', '', '꧀​ꦫꦶ' ], // pangkon and start with r ['ꦂi', '','ꦫꦶ'], // vocal ended with -r followed by i
[ 'ꦂo', '', '꧀​ꦫꦺꦴ' ], // pangkon and start with r ['ꦂo', '','ꦫꦺꦴ'], // vocal ended with -r followed by o
[ 'ꦂu', '', '꧀​ꦫꦸ' ], // pangkon and start with r ['ꦂu', '','ꦫꦸ'], // vocal ended with -r followed by u
['ꦂy', '','ꦫꦾ'], // vocal ended with -r followed by y (Special)
[ 'ꦁa', '', '꧀​ꦔ' ], // pangkon and start with ng ['ꦁa', '','ꦔ'], // vocal ended with -ng followed by a
[ 'ꦁe', '', '꧀​ꦔꦺ' ], // pangkon and start with ng ['ꦁe', '','ꦔꦺ'], // vocal ended with -ng followed by e
[ 'ꦁi', '', '꧀​ꦔꦶ' ], // pangkon and start with ng ['ꦁi', '','ꦔꦶ'], // vocal ended with -ng followed by i
[ 'ꦁo', '', '꧀​ꦔꦺꦴ' ], // pangkon and start with ng ['ꦁo', '','ꦔꦺꦴ'], // vocal ended with -ng followed by o
[ 'ꦁu', '', '꧀​ꦔꦸ' ], // pangkon and start with ng ['ꦁu', '','ꦔꦸ'], // vocal ended with -ng followed by u
[ 'ꦃa', '', 'ꦲ​' ], // vocal ended with -h followed by a // VI. Vocal (lowercase, uppercase, extended) ended with h/r/ng = special pasangan (-h, -r, -ng)
[ 'ꦃe', '', 'ꦲꦺ' ], // vocal ended with -h followed by e ['h', '','꧀ꦲ꧀'],
[ 'ꦃi', '', 'ꦲꦶ' ], // vocal ended with -h followed by i // vocal a ended with h/r/ng
[ 'ꦃo', '', 'ꦲꦺꦴ' ], // vocal ended with -h followed by o ['(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)(h|H)', '','$1ꦃ'], // hanacaraka + h = -h
[ 'ꦃu', '', 'ꦲꦸ' ], // vocal ended with -h followed by u ['(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)(r|R)', '','$1ꦂ'], // hanacaraka + r = -r
['(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦿ|ꦾ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)(ꦤ|ꦟ)꧀(g|G)', '','$1ꦁ'], // hanacaraka + ng = -ng
// other vocals ended with h/r/ng
['(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(h|H)', '','$1ꦃ'], // other vocal ended with -h
['(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(r|R)', '','$1ꦂ'], // other vocal ended with -r
['(ꦴ|ꦻ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ|ꦄ|ꦌ|ꦆ|ꦎ|ꦈ)(ꦤ|ꦟ)꧀(g|G)', '','$1ꦁ'], // other vocal ended with -ng
[ 'ꦂa', '', 'ꦫ​' ], // vocal ended with -r followed by a // V. Lower case consonant followed by lower case consonant: Basic
[ 'ꦂe', '', 'ꦫꦺ' ], // vocal ended with -r followed by e // Note: not all of these combination are valid in Javanese language, for example -hn-,
[ 'ꦂi', '', 'ꦫꦶ' ], // vocal ended with -r followed by i // so they are here only for logical reason, practically they should never be used.
[ 'ꦂo', '', 'ꦫꦺꦴ' ], // vocal ended with -r followed by o // Obvious removal are noted (such as -yy-). th, dh, ny, ng, c, h, r, w, y are special cases:
[ 'ꦂu', '', 'ꦫꦸ' ], // vocal ended with -r followed by u
[ 'ꦂy', '', 'ꦫꦾ' ], // vocal ended with -r followed by y
[ 'ꦁa', '', 'ꦔ​' ], // vocal ended with -ng followed by a // pasangan 'ha'(ꦲ/ꦃ) is considered final, exception: about 60 words can be found of "ha" followed by consonant y/r/l/w
[ 'ꦁe', '', 'ꦔꦺ' ], // vocal ended with -ng followed by e // pasangan 'ra'(ꦫ/ꦂ) is considered final, exception: 5 words can be found of "ra" followed by consonant y/w
[ 'ꦁi', '', 'ꦔꦶ' ], // vocal ended with -ng followed by i // pasangan bigraf nga(ꦔ/ꦁ) is considered final, exception: "nga" can only be found followed by consonant y/r/l/w
[ 'ꦁo', '', 'ꦔꦺꦴ' ], // vocal ended with -ng followed by o // (some problem may occur - see http://jv.wikipedia.org/wiki/Dhiskusi_Panganggo:Bennylin/Narayam#Ng)
[ 'ꦁu', '', 'ꦔꦸ' ], // vocal ended with -ng followed by u // pasangan bigraf nya can only be found followed by consonant r/l/w, and
// although not found in Latin, it also found in Javanese script representation of nasal sounds ñ (see nyc and nyj)
// pasangan bigraf dha can only be found followed by consonant y/r/ w
// pasangan bigraf tha can only be found followed by consonant r
// the letter 'w' can only be found followed by consonant y/r/l/w (nasal for 'u')
// the letter 'c' can only be found followed by consonant r/l, and ch
// the letter 'y' can only be found followed by consonant w (nasal for 'i')
[ '()h', '', '' ], // vocal a ended with -h ['꧀a', '',''], // default vowel is a, so, remove the pangkon
[ '()r', '', '' ], // vocal a ended with -r ['꧀A', '',''], // A
[ '()ꦤg', '', '' ], // vocal a ended with -ng ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀b', '','$1꧀ꦧ꧀'],
[ '(ꦴ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ)h', '', '$1' ], // other vocal ended with -h ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀B', '','$1꧀ꦨ꧀'], // pasangan Ba murda
[ '(ꦴ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ)r', '', '$1ꦂ' ], // other vocal ended with -r ['ꦤ꧀​(c|C)', '','ꦚ꧀ꦕ꧀'], // n+zero-width-space+c
[ '(ꦴ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ)ꦤg', '', '$1ꦁ' ], // other vocal ended with -ng ['ꦤ꧀(c|C)', '','ꦚ꧀ꦕ꧀'], // n followed by c became nasalized (nasal sound 'ny' + c)(REF:nyc)
['(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀c', '','$1꧀ꦕ꧀'],
// consonant followed by consonant, basic ['(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀C', '','$1꧀ꦖ꧀'], // pasangan Ca murda(?)
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦢh', '', '$1꧀' ], // dh ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀d', '','$1꧀ꦢ꧀'],
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦤy', '', '$1꧀' ], // ny ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀D', '','$1꧀ꦣ꧀'],
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦠh', '', '$1꧀ꦛ' ], // th ['꧀e', '',''], // é|è
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦤg', '', '$1꧀ꦔ' ], // ng ['꧀E', '',''], // É|È
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)b', '', '$1꧀' ], ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(f|v|F|V)', '','$1꧀ꦥ꦳꧀'],
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)c', '', '$1꧀' ], ['(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀g', '','$1꧀ꦒ꧀'], // can't be started with n, reserved for bigraf ng
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)d', '', '$1꧀' ], ['(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀G', '','$1꧀ꦓ꧀'], // pasangan Ga murda (can't be started with n - see II. 2.)
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)(f|v)', '', '$1꧀ꦥ꦳' ], ['(ꦤ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(h|H)', '','$1꧀ꦲ꧀'], // can't be started with k/d/t/g, reserved for bigraf kh/dh/th/gh
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)g', '', '$1꧀ꦒ' ], // can't be started with n, reserved for bigraf ng ['꧀i', '',''], // i
[ '(ꦤ|ꦕ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦧ)h', '', '$1꧀ꦲ' ], // can't be started with k/d/t/g, reserved for bigraf kh/dh/th/gh ['꧀I', '',''], // I
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)j', '', '$1꧀ꦗ' ], ['ꦤ꧀​(j|J)', '','꧀ꦗ'], // n+zero-width-space+j
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)k', '', '$1꧀ꦏ' ], ['ꦤ꧀(j|J)', '','ꦚ꧀ꦗ꧀'], // n followed by j became nasalized (nasal sound 'ny' + j)(REF:nyj)
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)l', '', '$1꧀' ], ['(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(j|J)', '','$1꧀ꦗ꧀'],
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)m', '', '$1꧀' ], ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀k', '','$1꧀ꦏ꧀'],
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)n', '', '$1꧀' ], ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀K', '','$1꧀ꦑ꧀'], // pasangan Ka murda
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ||ꦩ|ꦒ|ꦧ)p', '', '$1꧀' ], ['(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ||ꦩ|ꦒ|ꦧ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(l|L)', '','$1꧀ꦭ꧀'],
// ['(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)q', '',''], ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(m|M)', '','$1꧀ꦩ꧀'],
[ 'ꦿꦺ`', '', '' ], // special biconsonant -rê ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀n', '','$1꧀ꦤ꧀'],
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)r', '', '$1ꦿ' ], // special biconsonant -ra ['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀N', '','$1꧀ꦟ꧀'], // pasangan Na murda
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)s', '', '$1꧀ꦱ' ], ['꧀o', '','ꦺꦴ'], // o
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)t', '', '$1꧀ꦠ' ], ['꧀O', '',''], // O
['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀p', '','$1꧀ꦥ꧀'],
['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀P', '','$1꧀ꦦ꧀'], // pasangan Pa murda
// q
['(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀r', '','$1꧀ꦫ꧀'], // consonant+zero-width-space+(r|R) doesn't make special biconsonant -ra
['(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀R', '','$1꧀ꦬ꧀'], // consonant+zero-width-space+(r|R) doesn't make special biconsonant -ra
['(ꦲ|ꦃ|ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(r|R)', '','$1ꦿ'], // special biconsonant -ra
['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀s', '','$1꧀ꦱ꧀'],
['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀S', '','$1꧀ꦯ꧀'], // pasangan Sa murda
['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀t', '','$1꧀ꦠ꧀'],
['(ꦤ|ꦏ|ꦢ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀T', '','$1꧀ꦡ꧀'], // pasangan Ta murda
['꧀u', '','ꦸ'], // u
['꧀U', '','ꦈ'], // U
// v = f // v = f
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)w', '', '$1꧀ꦮ' ], ['(ꦲ|ꦃ|ꦤ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦔ|ꦁ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(w|W)꧀', '','$1꧀ꦮ'],
// ['(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)x', '',''], ['(ꦲ|ꦃ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀​(y|Y)', '','$1꧀ꦪ꧀'], // consonant+zero-width-space+(y|Y) doesn't make special biconsonant -ya
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ)y', '', '$1ꦾ' ], // special biconsonant -ya, can't be started
// with n or y, reserved for bigraf ny
[ '(ꦤ|ꦕ|ꦏ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)z', '', '$1ꦾꦗ꦳' ], // can't be started with d, reserved for bigraf dz
// consonant followed by consonant, extended ['(ꦲ|ꦃ|ꦫ|ꦂ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦩ|ꦒ|ꦧ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦦ|ꦯ|ꦡ)꧀(y|Y)', '','$1ꦾ'], // special biconsonant -ya,
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦤ(y|Y)', '', '$1꧀ꦘ' ], // Nya murda // can't be started with n or y, reserved for bigraf ny (REF:-yy-)
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)B', '', '$1꧀' ], // Ba murda ['(ꦤ|ꦏ|ꦠ|ꦱ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ)꧀(z|Z)', '','$1ꦾꦗ꦳꧀'], // can't be started with d, reserved for bigraf dz
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)C', '', '$1꧀ꦖ' ], // Ca murda(?)
[ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)G', '', '$1꧀ꦓ' ], // Ga murda //can't be started with n, reserved for bigraf nG (Ng)
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)K', '', '$1꧀ꦑ' ], // Ka murda
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)N', '', '$1꧀ꦟ' ], // Na murda
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)P', '', '$1꧀ꦦ' ], // Pa murda
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)S', '', '$1꧀ꦯ' ], // Sa murda
[ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)T', '', '$1꧀ꦡ' ], // Ta murda
// extended vowel // IV. 1. Special consonant
[ 'a', '', '' ], // long a (aa) ['(ꦾ|ꦿ)a', '','$1'],
[ 'i', '', '' ], // (ai) ['ꦿx', '',''], // special biconsonant -rê
[ 'ꦶi', '', '' ], // long i (ii) ['ꦊq', '',''], // special character lê Raswadi
[ 'ꦸu', '', '' ], // long u (uu) ['ꦭ꧀x', '',''], // special character lê
['ꦫ꧀x', '','ꦉ'], // special character rê
['ꦌx', '','ꦄꦼ'], // Ê
['꧀x', '','ꦼ'], // x is another way to write ê
['꧀X', '','ꦄꦼ'], // X is another way to write Ê
// extended consonant // IV. 3. Extended vowel
[ 'ꦏh', '', 'ꦏ꦳' ], // kh // long a (aa) - see II.
[ 'ꦒh', '', 'ꦒ꦳' ], // gh ['(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)i', '','$1ꦻ'], // hanacaraka + i = -ai
[ 'ꦢz', '', 'ꦢ꦳' ], // dz ['(ꦲ|ꦤ|ꦕ|ꦫ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦝ|ꦗ|ꦪ|ꦚ|ꦩ|ꦒ|ꦧ|ꦛ|ꦔ|ꦘ|ꦨ|ꦖ|ꦓ|ꦑ|ꦟ|ꦦ|ꦯ|ꦡ|꦳)u', '','$1ꦻꦴ'], // hanacaraka + u = -au
[ 'ꦗ`', '', '' ], // Ja mahaprana ['ꦄi', '',''], // Ai
['ꦄu', '','ꦎꦴ'], // Au
['ꦶi', '','ꦷ'], // long i (ii)
['ꦆi', '','ꦇ'], // long i (Ii)
['ꦸu', '','ꦹ'], // long u (uu)
['ꦈu', '','ꦈꦴ'], // long u (Uu)
['ꦺꦴo', '','ꦵ'], // Sundanese -o
// special consonant // IV. 2. Extended consonant
[ 'ꦭꦺ`', '', '' ], // special character lê ['ꦱ꧀​(s|h)', '','ꦰ꧀'], // s_s (with zero-width-space)
[ 'ꦫꦺ`', '', '' ], // special character rê ['ꦏ꧀h', '','ꦏ꧀ꦲ꧀'], // k_h (with zero-width-space)
['ꦒ꧀h', '','ꦒ꧀ꦲ꧀'], // g_h (with zero-width-space)
['ꦢ꧀z', '','ꦢ꧀ꦗ꦳꧀'], // d_z (with zero-width-space)
['ꦗ꧀h', '','ꦙ'], // j_h (with zero-width-space)
['ꦱ꧀(s|h)', '','ꦰ꧀'], // ss/sh
['ꦏ꧀h', '','ꦏ꦳'], // kh
['ꦒ꧀h', '','ꦒ꦳'], // gh
['ꦢ꧀z', '','ꦢ꦳'], // dz
['ꦗ꧀h', '','ꦙ'], // jh/Ja mahaprana
// non words // III. Non-words
[ ' ', '', '' ], // zero-width-space, since javanese have no space // q and Q are special characters for choosing less used characters by pressing q/Q multiple times (rotating back)
[ 'q`', '', '' ], // pengkal - to cut off the default -a vowel [' ', '',''], // zero-width-space, since javanese have no space
[ 'x`', '', '' ], // cecak telu ['꧅q', '',''], // rêrênggan kiwa
[ '꦳`', '', '' ], // panyangga ['꧄q', '',''], // pada luhur
[ 'ꦀ`', '', '̈' ], // combining-diaresis ['꧃q', '',''], // pada madya
[ '̈`', '', '͜' ], // double-breve ['꧂q', '', ''],// pada andhap
['꧁q', '','꧂'], // rêrênggan têngên
['Q', '','꧁'], // rêrênggan kiwa
['꧟[Q|q]', '','꧀'], // pangkon
['꧞[Q|q]', '','꧟'], // pada isen-isen
['꧆[Q|q]', '','꧞'], // pada tirta tumetes
['ꦀ[Q|q]', '', '꧆'],// pada windu
['꦳[Q|q]', '','ꦀ'], // panyangga
['꧀[Q|q]', '','꦳'], // cecak telu
['q', '','꧀'], // pangkon - to cut off the default -a vowel
[ 'ꦫ`', '', 'ꦿ' ], // another way to write -ra ['ꦫq', '','ꦿ'], // another way to write -ra
[ 'ꦪ`', '', 'ꦾ' ], // another way to write -ya ['ꦪq', '','ꦾ'], // another way to write -ya
// basic ha-na-ca-ra-ka // II. 1. Alphabetical ha-na-ca-ra-ka
[ 'h', '', '' ], // dh ['ꦠ꧀​h', '','ꦠ꧀ꦲ꧀'], // t_h (with zero-width-space)
[ 'h', '', '' ], // th ['ꦢ꧀​h', '','ꦢ꧀ꦲ꧀'], // d_h (with zero-width-space)
[ 'ꦤy', '', 'ꦚ' ], // ny ['ꦤ꧀​y', '','ꦚ꧀ꦪ꧀'], // n_y (with zero-width-space)
[ 'ꦤg', '', 'ꦔ' ], // ng ['ꦤ꧀​g', '','ꦔ꧀ꦒ꧀'], // n_g (with zero-width-space)
[ 'ꦺ`', '', '' ], // ê ['ꦠ꧀h', '','ꦛ꧀'], // th
[ 'a', '', '' ], // default vowel is a, by default using zero-width-non-joiner ['ꦢ꧀h', '','ꦝ꧀'], // dh
[ 'b', '', '' ], ['ꦤ꧀y', '','ꦚ꧀'], // ny
[ 'c', '', '' ], ['ꦤ꧀g', '',''], // ng
[ 'd', '', '' ], ['a', '',''],
[ 'e', '', '' ], // é|è ['b', '','ꦧ꧀'],
[ '(f|v)', '', 'ꦥ꦳' ], ['c', '','ꦕ꧀'],
[ 'g', '', '' ], ['d', '','ꦢ꧀'],
[ 'h', '', 'ꦲ' ], ['e', '','ꦲ'], // é|è
[ 'i', '', '' ], ['(f|v)', '','ꦥ꦳꧀'],
[ 'j', '', '' ], ['g', '','ꦒ꧀'],
[ 'k', '', '' ], ['h', '','ꦲ꧀'],
[ 'l', '', '' ], ['i', '','ꦲꦶ'],
[ 'm', '', '' ], ['j', '','ꦗ꧀'],
[ 'n', '', '' ], ['k', '','ꦏ꧀'],
[ 'o', '', 'ꦺꦴ' ], ['l', '','ꦭ꧀'],
[ 'p', '', '' ], ['m', '','ꦩ꧀'],
// ['q', '',''], ['n', '','ꦤ꧀'],
[ 'r', '', '' ], ['o', '','ꦲꦺꦴ'],
[ 's', '', '' ], ['p', '','ꦥ꧀'],
[ 't', '', 'ꦠ' ], // q = special letters, see III.
[ 'u', '', '' ], ['r', '','ꦫ꧀'],
['s', '','ꦱ꧀'],
['t', '','ꦠ꧀'],
['u', '','ꦲꦸ'],
// v = f // v = f
[ 'w', '', 'ꦮ' ], ['w', '','ꦮ'],
// ['x', '',''], ['x', '','ꦲꦼ'], // ê
[ 'y', '', 'ꦪ' ], ['y', '','ꦪ'],
[ 'z', '', 'ꦗ꦳' ], ['z', '','ꦗ꦳'],
// capital Ha-Na-Ca-Ra-Ka // II. Basic Letters:
[ 'ꦢ(h|H)', '', 'ꦝ' ], // II. 2. Capital Ha-Na-Ca-Ra-Ka (Aksara Murda)
[ 'ꦤ(y|Y)', '', '' ], // Nya murda ['(ꦠ|ꦡ)꧀(h|H)', '','ꦛ꧀'],
[ 'ꦠ(h|H)', '', '' ], ['ꦣ꧀h', '','ꦞ꧀'], // Dha murda
[ 'ꦤ(g|G)', '', '' ], ['(ꦢ|ꦣ)꧀H', '','ꦞ꧀'], // Dha murda
[ 'ꦌ`', '', 'ꦄꦼ' ], // Ê ['ꦟ꧀y', '','ꦘ꧀'], // Nya murda
[ 'A', '', '' ], // A ['(ꦤ|ꦟ)꧀Y', '','ꦘ꧀'], // NYA murda
[ 'B', '', '' ], // Ba murda ['(ꦤ|ꦟ)꧀(g|G)', '','ꦔ꧀'],// nga
[ 'C', '', '' ], // Ca murda(?) ['A', '',''], // A
[ 'D', '', '' ], ['B', '','ꦨ꧀'], // Ba murda
[ 'E', '', '' ], // É|È ['C', '','ꦖ꧀'], // Ca murda(?)
[ '(F|V)', '', 'ꦥ꦳' ], ['D', '','ꦣ꧀'],
[ 'G', '', '' ], // Ga murda ['E', '',''], // É|È
[ 'H', '', '' ], ['(F|V)', '','ꦥ꦳꧀'],
[ 'I', '', '' ], // I ['G', '','ꦓ꧀'], // Ga murda
[ 'J', '', '' ], ['H', '','ꦲ꧀'],
[ 'K', '', '' ], // Ka murda ['I', '',''], // I
[ 'L', '', '' ], ['J', '','ꦙ꧀'],// Ja Mahaprana
[ 'M', '', '' ], ['K', '','ꦑ꧀'], // Ka murda
[ 'N', '', '' ], //Na murda ['L', '','ꦭ꧀'],
[ 'O', '', '' ], //O ['M', '','ꦩ꧀'],
[ 'P', '', '' ], //Pa murda ['N', '','ꦟ꧀'], // Na murda
[ 'Q', '', '' ], ['O', '',''], // O
[ 'R', '', '' ], ['P', '','ꦦ꧀'], // Pa murda
[ 'S', '', 'ꦯ' ], //Sa murda // Q = special letters, see III.
[ 'T', '', '' ], //Ta murda ['R', '','ꦬ꧀'],
[ 'U', '', '' ], //U ['S', '','ꦯ꧀'], // Sa murda
//v = f ['T', '','ꦡ꧀'], // Ta murda
[ 'W', '', '' ], ['U', '',''], // U
[ 'X', '', '' ], // V = F
[ 'Y', '', '' ], ['W', '','ꦮ꧀'],
[ 'Z', '', 'ꦗ꦳' ], ['X', '','ꦄꦼ'], // X is another way to write Ê
['Y', '','ꦪ꧀'],
['Z', '','ꦗ꦳꧀'],
[ '0', '', '꧐' ], // I. Number
[ '1', '', '' ], ['0', '',''],
[ '2', '', '' ], ['1', '',''],
[ '3', '', '' ], ['2', '',''],
[ '4', '', '' ], ['3', '',''],
[ '5', '', '' ], ['4', '',''],
[ '6', '', '' ], ['5', '',''],
[ '7', '', '' ], ['6', '',''],
[ '8', '', '' ], ['7', '',''],
[ '9', '', '' ], ['8', '',''],
[ ',', '', '' ], ['9', '',''],
[ '\\.', '', '' ], [':', '',''], // 'enclose Javanese numbers, e.g. ":1:"'
[ '꧊\\|', '', '' ], // '||' [',', '',''], // 'comma'
[ '\\|', '', '' ], // '|' ['\\.', '',''], // 'period'
[ '\\(', '', '' ], // '(' ['\\|', '',''], // 'opening paragraph character'
[ '\\)', '', '' ], // ')' ['\\|', '',''], // 'poem character'
[ '(\u200C)*_', '', '\u200c' ] ['\\(', '',''], // 'Javanese opening bracket'
['\\)', '','꧍'] // 'Javanese closing bracket'
] ]
}; };
$.ime.register( jvTransliteration ); $.ime.register( jvTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -51,7 +51,6 @@
['w', 'ჳ'], ['w', 'ჳ'],
['f', 'ჶ']] ['f', 'ჶ']]
}; };
$.ime.register( kaKbd ); $.ime.register( kaKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -53,8 +53,6 @@
['Z', 'ძ'], ['Z', 'ძ'],
['C', 'ჩ']] ['C', 'ჩ']]
}; };
$.ime.register( kaTransliteration ); $.ime.register( kaTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -57,7 +57,6 @@
['\\}', '{'] ['\\}', '{']
] ]
}; };
$.ime.register( kkArabic ); $.ime.register( kkArabic );
}( jQuery ) ); }( jQuery ) );

View File

@@ -103,7 +103,6 @@
['/', '№'] ['/', '№']
] ]
}; };
$.ime.register( kkKbd ); $.ime.register( kkKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var knInscript = { var knInscript = {
id: 'kn-inscript', id: 'kn-inscript',
name: 'ಇನ್ಸ್ಕ್ರಿಪ್ಟ್', name: 'ಇನ್\u200cಸ್ಕ್ರಿಪ್ಟ್',
description: 'Inscript keyboard for Kannada script', description: 'Inscript keyboard for Kannada script',
date: '2012-10-14', date: '2012-10-14',
author: 'Junaid P V', author: 'Junaid P V',
@@ -106,6 +106,6 @@
['j', '\u0CF2'], ['j', '\u0CF2'],
['\\$', '\u20B9']] ['\\$', '\u20B9']]
}; };
$.ime.register( knInscript );
$.ime.register( knInscript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var knInscript2 = { var knInscript2 = {
id: 'kn-inscript2', id: 'kn-inscript2',
name: 'ಇನ್ಸ್ಕ್ರಿಪ್ಟ್ ೨', name: 'ಇನ್\u200cಸ್ಕ್ರಿಪ್ಟ್ ೨',
description: 'Enhanced InScript keyboard for Kannada script', description: 'Enhanced InScript keyboard for Kannada script',
date: '2013-01-16', date: '2013-01-16',
author: 'Parag Nemade', author: 'Parag Nemade',
@@ -98,8 +98,8 @@
['\\*', 'ಶ್ರ'] ['\\*', 'ಶ್ರ']
], ],
patterns_x: [ patterns_x: [
['1', ''], ['1', '\u200d'],
['2', ''], ['2', '\u200c'],
['4', '₹'], ['4', '₹'],
['\\+', 'ೠ'], ['\\+', 'ೠ'],
['\\=', 'ೄ'], ['\\=', 'ೄ'],
@@ -116,5 +116,4 @@
}; };
$.ime.register( knInscript2 ); $.ime.register( knInscript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -1,103 +1,104 @@
( function ( $ ) { ( function ( $ ) {
'use strict'; 'use strict';
var knKGP = { var knKGP = {
id: 'kn-kgp', id: 'kn-kgp',
name: 'ಕಗಪ/ನುಡಿ', name: 'ಕಗಪ/ನುಡಿ',
description: 'Kannada kgp/nudi/KP Rao layout', description: 'Kannada kgp/nudi/KP Rao layout',
date: '2012-11-09', date: '2012-11-09',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Aravinda VK<mail@aravindavk.in>', author: 'Aravinda VK<mail@aravindavk.in>',
license: 'GPLv3,MIT', license: 'GPLv3,MIT',
version: '1.0', version: '1.0',
contextLength: 4, contextLength: 4,
maxKeyLength: 2, maxKeyLength: 2,
patterns: [ patterns: [
['([ಕ-ಹೞ]಼?)f', '$1್'], ['([ಕ-ಹೞ]಼?)f', '$1್'],
['([ಕ-ಹೞ]಼?್)f', '$1'], ['([ಕ-ಹೞ]಼?್)f', '$1'],
['\\\\([A-Za-z\\>_~\\.0-9])','\\\\','$1'], ['\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1'],
['([ಕ-ಹೞ]಼?)A', '$1ಾ'], ['([ಕ-ಹೞ]಼?)A', '$1ಾ'],
['([ಕ-ಹೞ]಼?)i', '$1ಿ'], ['([ಕ-ಹೞ]಼?)i', '$1ಿ'],
['([ಕ-ಹೞ]಼?)I', '$1ೀ'], ['([ಕ-ಹೞ]಼?)I', '$1ೀ'],
['([ಕ-ಹೞ]಼?)u', '$1ು'], ['([ಕ-ಹೞ]಼?)u', '$1ು'],
['([ಕ-ಹೞ]಼?)U', '$1ೂ'], ['([ಕ-ಹೞ]಼?)U', '$1ೂ'],
['([ಕ-ಹೞ]಼?)R', '$1ೃ'], ['([ಕ-ಹೞ]಼?)R', '$1ೃ'],
['([ಕ-ಹೞ]಼?)ೃX', '$1ೄ'], ['([ಕ-ಹೞ]಼?)ೃX', '$1ೄ'],
['([ಕ-ಹೞ]಼?)e', '$1ೆ'], ['([ಕ-ಹೞ]಼?)e', '$1ೆ'],
['([ಕ-ಹೞ]಼?)E', '$1ೇ'], ['([ಕ-ಹೞ]಼?)E', '$1ೇ'],
['([ಕ-ಹೞ]಼?)Y', '$1ೈ'], ['([ಕ-ಹೞ]಼?)Y', '$1ೈ'],
['([ಕ-ಹೞ]಼?)o', '$1ೊ'], ['([ಕ-ಹೞ]಼?)o', '$1ೊ'],
['([ಕ-ಹೞ]಼?)O', '$1ೋ'], ['([ಕ-ಹೞ]಼?)O', '$1ೋ'],
['([ಕ-ಹೞ]಼?)V', '$1ೌ'], ['([ಕ-ಹೞ]಼?)V', '$1ೌ'],
['ಸX', 'ಽ'], ['ಸX', 'ಽ'],
['([ಕ-ಹೞ]಼?\u200D)f', '$1್'], ['([ಕ-ಹೞ]಼?\u200D)f', '$1್'],
['(\u200D)F', '\u200C'], // 0x200C Zero width non-joiner ['(\u200D)F', '\u200C'], // 0x200C Zero width non-joiner
['F', '\u200D'], // 0x200D Zero width joiner ['F', '\u200D'], // 0x200D Zero width joiner
['k', 'ಕ'], ['k', 'ಕ'],
['K', 'ಖ'], ['K', 'ಖ'],
['g', 'ಗ'], ['g', 'ಗ'],
['G', 'ಘ'], ['G', 'ಘ'],
['Z', 'ಙ'], ['Z', 'ಙ'],
['c', 'ಚ'], ['c', 'ಚ'],
['C', 'ಛ'], ['C', 'ಛ'],
['j', 'ಜ'], ['j', 'ಜ'],
['ಜX', 'ಜ಼'], ['ಜX', 'ಜ಼'],
['J', 'ಝ'], ['J', 'ಝ'],
['z', 'ಞ'], ['z', 'ಞ'],
['q', 'ಟ'], ['q', 'ಟ'],
['Q', 'ಠ'], ['Q', 'ಠ'],
['w', 'ಡ'], ['w', 'ಡ'],
['W', 'ಢ'], ['W', 'ಢ'],
['N', 'ಣ'], ['N', 'ಣ'],
['t', 'ತ'], ['t', 'ತ'],
['T', 'ಥ'], ['T', 'ಥ'],
['d', 'ದ'], ['d', 'ದ'],
['D', 'ಧ'], ['D', 'ಧ'],
['n', 'ನ'], ['n', 'ನ'],
['p', 'ಪ'], ['p', 'ಪ'],
['P', 'ಫ'], ['P', 'ಫ'],
['ಫX', 'ಫ಼'], ['ಫX', 'ಫ಼'],
['b', 'ಬ'], ['b', 'ಬ'],
['B', 'ಭ'], ['B', 'ಭ'],
['m', 'ಮ'], ['m', 'ಮ'],
['y', 'ಯ'], ['y', 'ಯ'],
['r', 'ರ'], ['r', 'ರ'],
['ರX', 'ಱ'], ['ರX', 'ಱ'],
['l', 'ಲ'], ['l', 'ಲ'],
['v', 'ವ'], ['v', 'ವ'],
['S', 'ಶ'], ['S', 'ಶ'],
['x', 'ಷ'], ['x', 'ಷ'],
['s', 'ಸ'], ['s', 'ಸ'],
['h', 'ಹ'], ['h', 'ಹ'],
['L', 'ಳ'], ['L', 'ಳ'],
['ಳX', 'ೞ'], ['ಳX', 'ೞ'],
['a', 'ಅ'], ['a', 'ಅ'],
['A', 'ಆ'], ['A', 'ಆ'],
['i', 'ಇ'], ['i', 'ಇ'],
['I', 'ಈ'], ['I', 'ಈ'],
['u', 'ಉ'], ['u', 'ಉ'],
['U', 'ಊ'], ['U', 'ಊ'],
['R', 'ಋ'], ['R', 'ಋ'],
['ಋX', 'ೠ'], ['ಋX', 'ೠ'],
['e', 'ಎ'], ['e', 'ಎ'],
['E', 'ಏ'], ['E', 'ಏ'],
['Y', 'ಐ'], ['Y', 'ಐ'],
['o', 'ಒ'], ['o', 'ಒ'],
['O', 'ಓ'], ['O', 'ಓ'],
['V', 'ಔ'], ['V', 'ಔ'],
['M', ''], ['M', ''],
['H', 'ಃ'], ['H', 'ಃ'],
['0', ''], ['0', ''],
['1', '೧'], ['1', '೧'],
['2', '೨'], ['2', '೨'],
['3', '೩'], ['3', '೩'],
['4', '೪'], ['4', '೪'],
['5', '೫'], ['5', '೫'],
['6', '೬'], ['6', '೬'],
['7', '೭'], ['7', '೭'],
['8', '೮'], ['8', '೮'],
['9', '೯']] ['9', '೯']
}; ]
$.ime.register( knKGP ); };
}( jQuery ) ); $.ime.register( knKGP );
}( jQuery ) );

View File

@@ -66,7 +66,6 @@
['ಸ್h', 'ಶ್'], ['ಸ್h', 'ಶ್'],
['ಶ್h', 'ಷ್'], ['ಶ್h', 'ಷ್'],
['ಋa', 'ರ'], ['ಋa', 'ರ'],
['ಋA', 'ರಾ'], ['ಋA', 'ರಾ'],
['ಋi', 'ರಿ'], ['ಋi', 'ರಿ'],
@@ -150,8 +149,6 @@
['9', '೯'], ['9', '೯'],
['//', 'ಽ']] ['//', 'ಽ']]
}; };
$.ime.register( knTransliteration ); $.ime.register( knTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -12,7 +12,7 @@
contextLength: 1, contextLength: 1,
maxKeyLength: 3, maxKeyLength: 3,
patterns: [ patterns: [
['्d', '्'], ['्d', '्\u200c'],
['ग_', 'ॻ'], ['ग_', 'ॻ'],
['ज_', 'ॼ'], ['ज_', 'ॼ'],
['ड_', 'ॾ'], ['ड_', 'ॾ'],
@@ -126,5 +126,4 @@
}; };
$.ime.register( ksInScript ); $.ime.register( ksInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -41,7 +41,7 @@
['r', 'ر'], ['r', 'ر'],
['T', 'ٹ'], ['T', 'ٹ'],
['t', 'ت'], ['t', 'ت'],
['Y', '؁'], ['Y', '\u0601'],
['y', 'ے'], ['y', 'ے'],
['U', '،'], ['U', '،'],
['u', 'ء'], ['u', 'ء'],
@@ -109,5 +109,4 @@
}; };
$.ime.register( ksKbd ); $.ime.register( ksKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -0,0 +1,48 @@
( function ( $ ) {
'use strict';
var kuH = {
id: 'ku-h',
name: 'Ku h',
description: 'writing Kurdish-letters adding h\'s',
date: '2013-06-26',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Ghybu',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
patterns: [
['çh', 'h', 'ch'],
['şh', 'h', 'sh'],
['ḧh', 'h', 'hh'],
['ẍh', 'h', 'xh'],
['êe', 'e', 'ee'],
['îi', 'i', 'ii'],
['ûu', 'u', 'uu'],
['Ç(H|h)', '(H|h)', 'C$1'],
['Ş(H|h)', '(H|h)', 'S$1'],
['Ḧ(H|h)', '(H|h)', 'H$1'],
['Ẍ(H|h)', '(H|h)', 'X$1'],
['Ê(E|e)', '(E|e)', 'E$1'],
['Î(I|i)', '(I|i)', 'I$1'],
['Û(U|u)', '(U|u)', 'U$1'],
['ch', 'ç'],
['sh', 'ş'],
['hh', 'ḧ'],
['xh', 'ẍ'],
['ee', 'ê'],
['ii', 'î'],
['uu', 'û'],
['C(H|h)', 'Ç'],
['S(H|h)', 'Ş'],
['H(H|h)', 'Ḧ'],
['X(H|h)', 'Ẍ'],
['E(E|e)', 'Ê'],
['I(I|i)', 'Î'],
['U(U|u)', 'Û']]
};
$.ime.register( kuH );
}( jQuery ) );

View File

@@ -0,0 +1,33 @@
( function ( $ ) {
'use strict';
var kuTr = {
id: 'ku-tr',
name: 'Ku tr',
description: 'writing Kurdish-letters using the TR keyboard',
date: '2013-06-26',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Ghybu',
license: 'GPLv3',
version: '1.0',
contextLength: 1,
patterns: [
['ḧh', 'h', 'hh'],
['Ḧ(H|h)', '(H|h)', 'H$1'],
['ğ', 'ẍ'],
['ı', 'i'],
['i', 'î'],
['ö', 'ê'],
['ü', 'û'],
['hh', 'ḧ'],
['Ğ', 'Ẍ'],
['İ', 'Î'],
['Ö', 'Ê'],
['Ü', 'Û'],
['H(H|h)', 'Ḧ']]
};
$.ime.register( kuTr );
}( jQuery ) );

View File

@@ -0,0 +1,25 @@
( function ( $ ) {
'use strict';
var kyCyrlAlt = {
id: 'ky-cyrl-alt',
name: 'Кыргыз Alt',
description: 'Кыргыз Alt',
date: '2013-08-10',
URL: 'http://github.com/wikimedia/jquery.ime',
author: 'Amir (Алексей) Aharoni',
license: 'GPLv3',
version: '1.0',
patterns: [],
patterns_x: [
['н', 'ң'],
['Н', 'Ң'],
['о', 'ө'],
['О', 'Ө'],
['у', 'ү'],
['У', 'Ү']
]
};
$.ime.register( kyCyrlAlt );
}( jQuery ) );

View File

@@ -120,4 +120,3 @@
$.ime.register( loKbd ); $.ime.register( loKbd );
}( jQuery ) ); }( jQuery ) );

View File

@@ -19,5 +19,4 @@
}; };
$.ime.register( maithiliInScript ); $.ime.register( maithiliInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -22,5 +22,4 @@
}; };
$.ime.register( maithiliInScript2 ); $.ime.register( maithiliInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -40,5 +40,4 @@
}; };
$.ime.register( mh ); $.ime.register( mh );
}( jQuery ) ); }( jQuery ) );

View File

@@ -87,5 +87,4 @@
}; };
$.ime.register( inscript ); $.ime.register( inscript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -101,9 +101,9 @@
['/', 'യ'] ['/', 'യ']
], ],
patterns_x: [ patterns_x: [
['1', ''], ['1', '\u200d'],
['\\!', '൰'], ['\\!', '൰'],
['2', ''], ['2', '\u200c'],
['\\@', '൱'], ['\\@', '൱'],
['\\#', '൲'], ['\\#', '൲'],
['\\$', '൳'], ['\\$', '൳'],

View File

@@ -1,5 +1,6 @@
( function ( $ ) { ( function ( $ ) {
'use strict'; 'use strict';
var mltransliteration = { var mltransliteration = {
id: 'ml-transliteration', id: 'ml-transliteration',
name: 'ലിപ്യന്തരണം', name: 'ലിപ്യന്തരണം',
@@ -334,5 +335,4 @@
}; };
$.ime.register( mltransliteration ); $.ime.register( mltransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -115,5 +115,4 @@
}; };
$.ime.register( mncyrl ); $.ime.register( mncyrl );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,7 @@
var mniInScript2 = { var mniInScript2 = {
id: 'mni-inscript2', id: 'mni-inscript2',
name: 'ইন্‌স্ক্ৰিপ্ ২', name: 'ইনস্ক্ৰিপ্ ২',
description: 'Enhanced InScript keyboard for Manipuri language using Bengali script', description: 'Enhanced InScript keyboard for Manipuri language using Bengali script',
date: '2013-02-13', date: '2013-02-13',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
@@ -96,9 +96,9 @@
], ],
patterns_x: [ patterns_x: [
['\\!', '৴'], ['\\!', '৴'],
['1', ''], ['1', '\u200d'],
['\\@', '৵'], ['\\@', '৵'],
['2', ''], ['2', '\u200c'],
['\\#', '৶'], ['\\#', '৶'],
['\\$', '৷'], ['\\$', '৷'],
['4', '₹'], ['4', '₹'],
@@ -122,5 +122,4 @@
}; };
$.ime.register( mniInScript2 ); $.ime.register( mniInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -110,6 +110,6 @@
[',', '\u0970'], [',', '\u0970'],
['\\$', '\u20B9']] ['\\$', '\u20B9']]
}; };
$.ime.register( mrInScript );
$.ime.register( mrInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -116,6 +116,6 @@
['\\.', '॥'] ['\\.', '॥']
] ]
}; };
$.ime.register( mrInScript2 );
$.ime.register( mrInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -4,12 +4,13 @@
var mrPhonetic = { var mrPhonetic = {
id: 'mr-phonetic', id: 'mr-phonetic',
name: 'phonetic', name: 'phonetic',
description: 'Phonetic keyboard for Marathi langauge', description: 'Phonetic keyboard for Marathi language',
date: '2013-02-09', date: '2013-02-09',
author: 'Parag Nemade', author: 'Parag Nemade',
license: 'GPLv3', license: 'GPLv3',
version: '1.0', version: '1.0',
patterns: [ patterns: [
['्f', '्\u200c'],
['~', 'ऎ'], ['~', 'ऎ'],
['`', 'ॆ'], ['`', 'ॆ'],
['!', 'ऍ'], ['!', 'ऍ'],
@@ -101,10 +102,9 @@
['/', 'ए'], ['/', 'ए'],
['\\^', 'ज्ञ'], ['\\^', 'ज्ञ'],
['X', 'क्ष'], ['X', 'क्ष'],
['\\*', 'श्र'], ['\\*', 'श्र']
['ff', '्‌']
] ]
}; };
$.ime.register( mrPhonetic );
$.ime.register( mrPhonetic );
}( jQuery ) ); }( jQuery ) );

View File

@@ -142,7 +142,6 @@
['\\`', '़'], ['\\`', '़'],
['(\u200C)*_', '\u200c']] ['(\u200C)*_', '\u200c']]
}; };
$.ime.register( mrTransliteration ); $.ime.register( mrTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -204,6 +204,6 @@
['\\\\', '\\'], ['\\\\', '\\'],
['\\|', '|']] ['\\|', '|']]
}; };
$.ime.register( myXkb );
$.ime.register( myXkb );
}( jQuery ) ); }( jQuery ) );

View File

@@ -2,8 +2,8 @@
'use strict'; 'use strict';
var defs = { var defs = {
id: 'no-normforms', id: 'nb-normforms',
name: 'Norsk', name: 'Norsk normal transliterasjon',
description: 'Norwegian input method with most common form transliterated', description: 'Norwegian input method with most common form transliterated',
date: '2012-12-04', date: '2012-12-04',
URL: 'http://www.evertype.com/alphabets/bokmaal-norwegian.pdf', URL: 'http://www.evertype.com/alphabets/bokmaal-norwegian.pdf',
@@ -47,5 +47,4 @@
}; };
$.ime.register( defs ); $.ime.register( defs );
}( jQuery ) ); }( jQuery ) );

View File

@@ -2,8 +2,8 @@
'use strict'; 'use strict';
var defs = { var defs = {
id: 'no-tildeforms', id: 'nb-tildeforms',
name: 'Norsk', name: 'Norsk tildemerket transliterasjon',
description: 'Norwegian input method with initial tilde triggering transliteration', description: 'Norwegian input method with initial tilde triggering transliteration',
date: '2012-12-04', date: '2012-12-04',
URL: 'http://www.evertype.com/alphabets/bokmaal-norwegian.pdf', URL: 'http://www.evertype.com/alphabets/bokmaal-norwegian.pdf',
@@ -32,5 +32,4 @@
}; };
$.ime.register( defs ); $.ime.register( defs );
}( jQuery ) ); }( jQuery ) );

View File

@@ -108,6 +108,6 @@
['\\@', '','ॅ'], ['\\@', '','ॅ'],
['4', '₹']] ['4', '₹']]
}; };
$.ime.register( neInScript );
$.ime.register( neInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -111,6 +111,6 @@
['\\>', 'ऽ'], ['\\>', 'ऽ'],
['\\.', '॥']] ['\\.', '॥']]
}; };
$.ime.register( neInScript2 );
$.ime.register( neInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -103,5 +103,4 @@
}; };
$.ime.register( neRom ); $.ime.register( neRom );
}( jQuery ) ); }( jQuery ) );

View File

@@ -101,6 +101,6 @@
['\\[', 'र्'], ['\\[', 'र्'],
['q', 'त्र']] ['q', 'त्र']]
}; };
$.ime.register( neTrad );
$.ime.register( neTrad );
}( jQuery ) ); }( jQuery ) );

View File

@@ -160,7 +160,6 @@
['//','ऽ'], ['//','ऽ'],
['\\`','्']] ['\\`','्']]
}; };
$.ime.register( neTransliteration ); $.ime.register( neTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -103,5 +103,4 @@
}; };
$.ime.register( orInScript ); $.ime.register( orInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -95,8 +95,8 @@
['\\*', 'ଶ୍ର'] ['\\*', 'ଶ୍ର']
], ],
patterns_x: [ patterns_x: [
['1', ''], ['1', '\u200d'],
['2', ''], ['2', '\u200c'],
['4', '₹'], ['4', '₹'],
['\\+', 'ୠ'], ['\\+', 'ୠ'],
['\\=', 'ୄ'], ['\\=', 'ୄ'],
@@ -113,5 +113,4 @@
}; };
$.ime.register( orInScript2 ); $.ime.register( orInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -94,10 +94,8 @@
['ତt', 'ତ୍ତ'], // tt ['ତt', 'ତ୍ତ'], // tt
['ଲl', 'ଲ୍ଲ'], // ll ['ଲl', 'ଲ୍ଲ'], // ll
['ପp', 'ପ୍ପ'], //pp ['ପp', 'ପ୍ପ'], //pp
[ '\\[', '\u200c' ],
[ '_', '\u200c' ], [ '_', '\u200c' ],
['ଆ\\\\', '\u0B3E'], // aa sign ['ଆ\\\\', '\u0B3E'], // aa sign
['ଇ\\\\', '\u0B3F'], // i sign ['ଇ\\\\', '\u0B3F'], // i sign
['ଈ\\\\', '\u0B40'],// I sign ['ଈ\\\\', '\u0B40'],// I sign

View File

@@ -107,5 +107,4 @@
}; };
$.ime.register( orPhonetic ); $.ime.register( orPhonetic );
}( jQuery ) ); }( jQuery ) );

View File

@@ -3,7 +3,8 @@
var orTransliteration = { var orTransliteration = {
id: 'or-transliteration', id: 'or-transliteration',
name: 'ଟ୍ରାନ୍ସଲିଟରେସନ', name: 'ଟ୍ରାନ୍ସଲିଟରେସନ',
description: 'Odia Transliteration', description: 'Odia Transliteration',
date: '2012-10-14', date: '2012-10-14',
URL: 'http://github.com/wikimedia/jquery.ime', URL: 'http://github.com/wikimedia/jquery.ime',
@@ -143,5 +144,4 @@
}; };
$.ime.register( orTransliteration ); $.ime.register( orTransliteration );
}( jQuery ) ); }( jQuery ) );

View File

@@ -92,6 +92,6 @@
['/', 'ਯ']] ['/', 'ਯ']]
}; };
$.ime.register( paInScript );
$.ime.register( paInScript );
}( jQuery ) ); }( jQuery ) );

View File

@@ -87,8 +87,8 @@
['/', 'ਯ'] ['/', 'ਯ']
], ],
patterns_x: [ patterns_x: [
['1', ''], ['1', '\u200d'],
['2', ''], ['2', '\u200c'],
['4', '₹'], ['4', '₹'],
['i', 'ਗ਼'], ['i', 'ਗ਼'],
['p', 'ਜ਼'], ['p', 'ਜ਼'],
@@ -106,6 +106,6 @@
['/', 'ੵ'] ['/', 'ੵ']
] ]
}; };
$.ime.register( paInScript2 );
$.ime.register( paInScript2 );
}( jQuery ) ); }( jQuery ) );

View File

@@ -94,7 +94,6 @@
['H', '੍ਹ'], ['H', '੍ਹ'],
['W', 'ਾਂ']] ['W', 'ਾਂ']]
}; };
$.ime.register( paPhonetic ); $.ime.register( paPhonetic );
}( jQuery ) ); }( jQuery ) );

Some files were not shown because too many files have changed in this diff Show More