diff --git a/lib/jquery.ime/css/jquery.ime.css b/lib/jquery.ime/css/jquery.ime.css index 9d5e7416..7f83d374 100644 --- a/lib/jquery.ime/css/jquery.ime.css +++ b/lib/jquery.ime/css/jquery.ime.css @@ -1,19 +1,28 @@ .imeselector { position: absolute; /* @embed */ - background: url('../images/ime-active.png') no-repeat left center; + background: url('../images/ime-active.png') no-repeat 3px center rgba(255,255,255,0.75); cursor: pointer; height: 15px; - margin: 1px 0 0; font-size: small; - padding-left: 20px; + padding: 2px 2px 1px 20px; + box-shadow: 0 1px 3px 0 #777; margin-top: 0; + -webkit-transition: opacity 0.24s ease, margin-top 0.24s ease; + -moz-transition: opacity 0.24s ease, margin-top 0.24s ease; + -o-transition: opacity 0.24s ease, margin-top 0.24s ease; text-align: left; font-family: 'sans'; white-space: nowrap; z-index: 9999; } +div.imeselector:hover { + box-shadow: 0 1px 3px 0 #565656; + border-top: none; + background-color: rgba(255,255,255,0.85); +} + .imeselector a { text-decoration: none; outline: none; @@ -23,20 +32,18 @@ padding-bottom: 4px; } -.imeselector .caret { +.ime-setting-caret { margin-left: 2px; margin-top: 8px; -} - -.caret { border-left: 4px solid transparent; border-right: 4px solid transparent; - border-top: 4px solid #000000; + border-top: 4px solid #565656; content: ""; display: inline-block; height: 0; vertical-align: top; width: 0; + } span.ime-disable-link { diff --git a/lib/jquery.ime/images/ime-active.png b/lib/jquery.ime/images/ime-active.png index 9a3479aa..92efa097 100644 Binary files a/lib/jquery.ime/images/ime-active.png and b/lib/jquery.ime/images/ime-active.png differ diff --git a/lib/jquery.ime/images/ime-active.svg b/lib/jquery.ime/images/ime-active.svg new file mode 100644 index 00000000..78d33d7e --- /dev/null +++ b/lib/jquery.ime/images/ime-active.svg @@ -0,0 +1,56 @@ + + + +image/svg+xml + diff --git a/lib/jquery.ime/images/ime-inactive.png b/lib/jquery.ime/images/ime-inactive.png new file mode 100644 index 00000000..73438829 Binary files /dev/null and b/lib/jquery.ime/images/ime-inactive.png differ diff --git a/lib/jquery.ime/images/ime-inactive.svg b/lib/jquery.ime/images/ime-inactive.svg new file mode 100644 index 00000000..efbb6f41 --- /dev/null +++ b/lib/jquery.ime/images/ime-inactive.svg @@ -0,0 +1,56 @@ + + + +image/svg+xml + diff --git a/lib/jquery.ime/images/tick.svg b/lib/jquery.ime/images/tick.svg new file mode 100644 index 00000000..f47f48b7 --- /dev/null +++ b/lib/jquery.ime/images/tick.svg @@ -0,0 +1,48 @@ + + + +image/svg+xml + \ No newline at end of file diff --git a/lib/jquery.ime/jquery.ime.js b/lib/jquery.ime/jquery.ime.js index 8cf7c529..169a2fbc 100644 --- a/lib/jquery.ime/jquery.ime.js +++ b/lib/jquery.ime/jquery.ime.js @@ -8,6 +8,7 @@ this.options = $.extend( {}, $.ime.defaults, options ); this.active = false; this.inputmethod = null; + this.language = null; this.context = ''; this.selector = this.$element.imeselector( this.options ); this.listen(); @@ -170,10 +171,15 @@ $.ime.preferences.setIM( inputmethodId ); }, - setLanguage: function( languageCode ) { + setLanguage: function ( languageCode ) { + this.language = languageCode; $.ime.preferences.setLanguage( languageCode ); }, + getLanguage: function () { + return this.language; + }, + load: function ( name, callback ) { var ime = this, dependency; @@ -212,10 +218,12 @@ data = $this.data( 'ime' ), options = typeof option === 'object' && option; - if( $this.prop( 'readonly' ) || $this.prop( 'disabled' ) ) { + if ( $this.prop( 'readonly' ) || $this.prop( 'disabled' ) ) { + return; + } + if ( $this.hasClass( 'noime' ) ) { return; } - if ( !data ) { data = new IME( this, options ); $this.data( 'ime', data ); @@ -477,10 +485,18 @@ name: 'Palochka', source: 'rules/cyrl/cyrl-palochka.js' }, + 'da-normforms': { + name: 'Normal forms', + source: 'rules/da/da-normforms.js' + }, 'eo-transliteration': { name: 'Transliteration', source: 'rules/eo/eo-transliteration.js' }, + 'fo-normforms': { + name: 'Føroyskt', + source: 'rules/fo/fo-normforms.js' + }, 'fi-transliteration': { name: 'translitterointi', source: 'rules/fi/fi-transliteration.js' @@ -493,6 +509,14 @@ name: 'इनस्क्रिप्ट', source: 'rules/hi/hi-inscript.js' }, + 'is-normforms': { + name: 'Normal forms', + source: 'rules/is/is-normforms.js' + }, + 'jv-transliteration': { + name: 'Transliteration', + source: 'rules/jv/jv-transliteration.js' + }, 'mai-inscript': { name: 'इनस्क्रिप्ट', source: 'rules/mai/mai-inscript.js', @@ -510,6 +534,10 @@ name: 'ഇൻസ്ക്രിപ്റ്റ്', source: 'rules/ml/ml-inscript.js' }, + 'sv-normforms': { + name: 'Normal forms', + source: 'rules/sv/sv-normforms.js' + }, 'ta-inscript': { name: 'இன்ஸ்கிரிப்ட்', source: 'rules/ta/ta-inscript.js' @@ -590,6 +618,14 @@ name: 'Transliteration', source: 'rules/ne/ne-transliteration.js' }, + 'no-normforms': { + name: 'Normal transliterasjon', + source: 'rules/no/no-normforms.js' + }, + 'no-tildeforms': { + name: 'Tildemerket transliterasjon', + source: 'rules/no/no-tildeforms.js' + }, 'or-transliteration': { name: 'Transliteration', source: 'rules/or/or-transliteration.js' @@ -602,6 +638,10 @@ name: 'ଲେଖନୀ', source: 'rules/or/or-lekhani.js' }, + 'se-normforms': { + name: 'Normal forms', + source: 'rules/se/se-normforms.js' + }, 'te-inscript': { name: 'ఇన్‍స్క్రిప్ట్', source: 'rules/te/te-inscript.js' @@ -701,6 +741,10 @@ autonym: 'нохчийн', inputmethods: [ 'cyrl-palochka' ] }, + 'da': { + autonym: 'Dansk', + inputmethods: [ 'da-normforms' ] + }, 'de': { autonym: 'Deutsch', inputmethods: [ 'de' ] @@ -709,6 +753,10 @@ autonym: 'Esperanto', inputmethods: [ 'eo-transliteration' ] }, + 'fo': { + autonym: 'Føroyskt', + inputmethods: [ 'fo-normforms' ] + }, 'fi': { autonym: 'Suomi', inputmethods: [ 'fi-transliteration' ] @@ -733,6 +781,14 @@ autonym: 'छत्तीसगढ़ी', inputmethods: [ 'hi-transliteration' ] }, + 'is': { + autonym: 'Íslenska', + inputmethods: [ 'is-normforms' ] + }, + 'jv': { + autonym: 'ꦧꦱꦗꦮ', + inputmethods: [ 'jv-transliteration' ] + }, 'ka': { autonym: 'ქართული ენა', inputmethods: [ 'ka-transliteration' ] @@ -781,6 +837,18 @@ autonym: 'नेपाल भाषा', inputmethods: [ 'hi-transliteration', 'hi-inscript' ] }, + 'no': { + autonym: 'Norsk', + inputmethods: [ 'no-normforms', 'no-tildeforms' ] + }, + 'nb': { + autonym: 'Norsk (bokmål)', + inputmethods: [ 'no-normforms', 'no-tildeforms' ] + }, + 'nn': { + autonym: 'Norsk (nynorsk)', + inputmethods: [ 'no-normforms', 'no-tildeforms' ] + }, 'or': { autonym: 'ଓଡ଼ିଆ', inputmethods: [ 'or-transliteration', 'or-lekhani', 'or-inscript' ] @@ -805,6 +873,10 @@ autonym: 'संस्कृत', inputmethods: [ 'sa-transliteration', 'sa-inscript2', 'sa-inscript' ] }, + 'se': { + autonym: 'Davvisámegiella', + inputmethods: [ 'se-normforms' ] + }, 'shi': { autonym: 'ⵜⵉⴼⵉⵏⴰⵖ', inputmethods: [ 'ber-tfng' ] @@ -813,6 +885,10 @@ autonym: 'සිංහල', inputmethods: [ 'si-singlish', 'si-wijesekara' ] }, + 'sv': { + autonym: 'Svenska', + inputmethods: [ 'sv-normforms' ] + }, 'ta': { autonym: 'தமிழ்', inputmethods: [ 'ta-transliteration', 'ta-99', 'ta-inscript', 'ta-bamini' ] @@ -860,13 +936,14 @@ this.$imeSetting.hide(); }, - prepareSelectorMenu: function() { + prepareSelectorMenu: function () { // TODO: In this approach there is a menu for each editable area. // With correct event mapping we can probably reduce it to one menu. this.$imeSetting = $( selectorTemplate ); this.$menu = $( ''; /** * Check whether a keypress event corresponds to the shortcut key @@ -1224,13 +1313,11 @@ p.addEventListener( 'DOMAttrModified', function () { flag = true; }, false ); - } - else if ( p.attachEvent ) { + } else if ( p.attachEvent ) { p.attachEvent( 'onDOMAttrModified', function () { flag = true; } ); - } - else { + } else { return false; } @@ -1304,15 +1391,15 @@ // Set the given IM as the last used for the language setIM: function ( inputMethod ) { - if( !this.registry.imes ){ - this.registry.imes= {}; + if ( !this.registry.imes ) { + this.registry.imes = {}; } this.registry.imes[this.getLanguage()] = inputMethod; }, // Return the last used or the default IM for language getIM: function ( language ) { - if( !this.registry.imes ){ + if ( !this.registry.imes ) { this.registry.imes= {}; } return this.registry.imes[language] || $.ime.languages[language].inputmethods[0]; diff --git a/lib/jquery.ime/rules/be/be-latin.js b/lib/jquery.ime/rules/be/be-latin.js new file mode 100644 index 00000000..e6631696 --- /dev/null +++ b/lib/jquery.ime/rules/be/be-latin.js @@ -0,0 +1,39 @@ +( function ( $ ) { + 'use strict'; + + var beLatin = { + id: 'be-latin', + name: 'Belarusian Łacinka', + description: 'Belarusian Latin alphabet input method', + date: '2012-11-06', + URL: 'http://github.com/wikimedia/jquery.ime', + author: 'Pavel Selitskas', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 1, + patterns: [ + [ '=S', 'Š' ], + [ '=U', 'Ŭ' ], + [ '-S', 'Ś' ], + [ '-L', 'Ł' ], + [ '-Z', 'Ź' ], + [ '=Z', 'Ž' ], + [ '-C', 'Ć' ], + [ '=C', 'Č' ], + [ '-N', 'Ń' ], + [ '=s', 'š' ], + [ '=u', 'ŭ' ], + [ '-s', 'ś' ], + [ '-l', 'ł' ], + [ '-z', 'ź' ], + [ '=z', 'ž' ], + [ '-c', 'ć' ], + [ '=c', 'č' ], + [ '-n', 'ń' ] + ] + }; + + $.ime.register( beLatin ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/be/be-transliteration.js b/lib/jquery.ime/rules/be/be-transliteration.js new file mode 100644 index 00000000..d9267406 --- /dev/null +++ b/lib/jquery.ime/rules/be/be-transliteration.js @@ -0,0 +1,95 @@ +( function ( $ ) { + 'use strict'; + + var beTransliteration = { + id: 'be-transliteration', + name: 'Belarusian Transliteration', + description: 'Belarusian transliteration per Belarusian winkeys', + date: '2012-11-06', + URL: 'http://github.com/wikimedia/jquery.ime', + author: 'Pavel Selitskas', + license: 'GPLv3', + version: '1.0', + patterns: [ + ['~', 'Ё'], + ['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', 'ь'], + [',', 'б'], + ['\\.', 'ю'], + ['/', '.'], + + + ['@', '"'], // 2 + ['#', '№'], // 3 + ['\\$', ';'], // 4 + // '%' is the same // 5 + ['^', ':'], // 6 + ['&', '?']] // 7 + // '*', '(' and ')' are the same // 8, 9, 0 + }; + $.ime.register( beTransliteration ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/da/da-normforms.js b/lib/jquery.ime/rules/da/da-normforms.js new file mode 100644 index 00000000..e061bd83 --- /dev/null +++ b/lib/jquery.ime/rules/da/da-normforms.js @@ -0,0 +1,50 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'da-normforms', + name: 'Dansk', + description: 'Danish input method with most common form transliterated', + date: '2012-12-04', + URL: 'http://www.evertype.com/alphabets/danish.pdf', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 3, + patterns: [ + // The most common transliterations + [ 'aa', 'å' ], + [ 'AA', 'Å' ], + [ 'Aa', 'Å' ], + [ 'ae', 'æ' ], + [ 'AE', 'Æ' ], + [ 'Ae', 'Æ' ], + [ 'oe', 'ø' ], + [ 'OE', 'Ø' ], + [ 'Oe', 'Ø' ], + // The previous as negated transliterations, mostly for names + [ 'åa', 'a', 'aa' ], + [ 'ÅA', 'A', 'AA' ], + [ 'Åa', 'A', 'Aa' ], + [ 'åA', 'a', 'aA' ], + [ 'æe', 'e', 'ae' ], + [ 'ÆE', 'E', 'AE' ], + [ 'Æe', 'E', 'Ae' ], + [ 'æE', 'e', 'aE' ], + [ 'øe', 'e', 'oe' ], + [ 'ØE', 'E', 'OE' ], + [ 'Øe', 'E', 'Oe' ], // this fails for some names like "Øen" + [ 'øE', 'e', 'oE' ] + // historically similar forms + // "Å" is sometimes written as "Aa", and "å" as "aa", but in names + // it is not generally acceptable to use this transliteration. To + // handle those situations we need some oposite forms. + // There is a similar character "Å" for the length unit Angstrom, + // but this is not the upper case letter Å. + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); \ No newline at end of file diff --git a/lib/jquery.ime/rules/fi/fi-transliteration.js b/lib/jquery.ime/rules/fi/fi-transliteration.js new file mode 100644 index 00000000..add831ff --- /dev/null +++ b/lib/jquery.ime/rules/fi/fi-transliteration.js @@ -0,0 +1,32 @@ +( function ( $ ) { + 'use strict'; + + var fiTransliteration = { + id: 'fi-transliteration', + name: 'translitterointi', + description: 'Finnish transliteration', + date: '2012-11-10', + URL: 'http://github.com/wikimedia/jquery.ime', + author: 'Niklas Laxström', + license: 'GPLv3', + version: '1.0', + contextLength: 0, + maxKeyLength: 2, + patterns: [ + ['\\.a', 'å'], + ['\\.A', 'Å'], + [':a', 'ä'], + [':A', 'Ä'], + [':o', 'ö'], + [':O', 'Ö'], + ['shh', 'š'], + ['Shh', 'Š'], + ['\\.e', '€'] + ], + patterns_x: [ + ['e', '€'] + ] + }; + $.ime.register( fiTransliteration ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/fo/fo-normforms.js b/lib/jquery.ime/rules/fo/fo-normforms.js new file mode 100644 index 00000000..7bf54394 --- /dev/null +++ b/lib/jquery.ime/rules/fo/fo-normforms.js @@ -0,0 +1,66 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'fo-normforms', + name: 'Føroyskt', + description: 'Faroese input method with most common form transliterated', + date: '2012-12-04', + URL: 'http://www.evertype.com/alphabets/faroese.pdf', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 3, + patterns: [ + // Uses "'" as an accent + [ "'a", 'á' ], + [ "'A", 'Á' ], + [ "'i", 'í' ], + [ "'I", 'Í' ], + [ "'o", 'ó' ], + [ "'O", 'Ó' ], + [ "'u", 'ú' ], + [ "'U", 'Ú' ], + [ "'y", 'ý' ], + [ "'Y", 'Ý' ], + // Uses "~" as "approximatly similar to" + [ '~d', 'ð' ], + [ '~D', 'Ð' ], + [ '~o', 'ö' ], + [ '~O', 'Ö' ], + // The most common transliterations (also the Danish letters) + [ 'aa', 'å' ], + [ 'AA', 'Å' ], + [ 'Aa', 'Å' ], + [ 'ae', 'æ' ], + [ 'AE', 'Æ' ], + [ 'Ae', 'Æ' ], + [ 'oe', 'ø' ], + [ 'OE', 'Ø' ], + [ 'Oe', 'Ø' ], + // The previous as negated transliterations, mostly for names + [ 'åa', 'a', 'aa' ], + [ 'ÅA', 'A', 'AA' ], + [ 'Åa', 'A', 'Aa' ], + [ 'åA', 'a', 'aA' ], + [ 'æe', 'e', 'ae' ], + [ 'ÆE', 'E', 'AE' ], + [ 'Æe', 'E', 'Ae' ], + [ 'æE', 'e', 'aE' ], + [ 'øe', 'e', 'oe' ], + [ 'ØE', 'E', 'OE' ], + [ 'Øe', 'E', 'Oe' ], // this fails for some names like "Øen" + [ 'øE', 'e', 'oE' ] + // historically similar forms + // "Å" is sometimes written as "Aa", and "å" as "aa", but in names + // it is not generally acceptable to use this transliteration. To + // handle those situations we need some oposite forms. + // There is a similar character "Å" for the length unit Angstrom, + // but this is not the upper case letter Å. + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); \ No newline at end of file diff --git a/lib/jquery.ime/rules/is/is-normforms.js b/lib/jquery.ime/rules/is/is-normforms.js new file mode 100644 index 00000000..41c7d9a1 --- /dev/null +++ b/lib/jquery.ime/rules/is/is-normforms.js @@ -0,0 +1,79 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'is-normforms', + name: 'Íslenska', + description: 'Islandic input method with most common form transliterated', + date: '2012-12-04', + URL: 'http://www.evertype.com/alphabets/icelandic.pdf', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 3, + patterns: [ + // Uses "'" as an accent + [ "'a", 'á' ], + [ "'A", 'Á' ], + [ "'i", 'í' ], + [ "'I", 'Í' ], + [ "'e", 'é' ], + [ "'E", 'É' ], + [ "'o", 'ó' ], + [ "'O", 'Ó' ], + [ "'u", 'ú' ], + [ "'U", 'Ú' ], + [ "'y", 'ý' ], + [ "'Y", 'Ý' ], + // Uses "~" as "approximatly similar to" + [ '~a', 'ä' ], + [ '~A', 'Ä' ], + [ '~e', 'ë' ], + [ '~E', 'Ë' ], + [ '~d', 'ð' ], + [ '~D', 'Ð' ], + [ '~o', 'ø' ], + [ '~O', 'Ø' ], + // The most common transliterations (also the Danish letters) + [ 'th', 'þ' ], + [ 'TH', 'Þ' ], + [ 'Th', 'Þ' ], + [ 'aa', 'å' ], + [ 'AA', 'Å' ], + [ 'Aa', 'Å' ], + [ 'ae', 'æ' ], + [ 'AE', 'Æ' ], + [ 'Ae', 'Æ' ], + [ 'oe', 'ö' ], + [ 'OE', 'Ö' ], + [ 'Oe', 'Ö' ], + // The previous as negated transliterations, mostly for names + [ 'þh', 'h', 'th' ], + [ 'ÞA', 'H', 'TH' ], + [ 'Þh', 'H', 'Th' ], + [ 'þA', 'h', 'tH' ], + [ 'åa', 'a', 'aa' ], + [ 'ÅA', 'A', 'AA' ], + [ 'Åa', 'A', 'Aa' ], + [ 'åA', 'a', 'aA' ], + [ 'æe', 'e', 'ae' ], + [ 'ÆE', 'E', 'AE' ], + [ 'Æe', 'E', 'Ae' ], + [ 'æE', 'e', 'aE' ], + [ 'öe', 'e', 'oe' ], + [ 'ÖE', 'E', 'OE' ], + [ 'Öe', 'E', 'Oe' ], + [ 'öE', 'e', 'oE' ] + // historically similar forms + // "Å" is sometimes written as "Aa", and "å" as "aa", but in names + // it is not generally acceptable to use this transliteration. To + // handle those situations we need some oposite forms. + // There is a similar character "Å" for the length unit Angstrom, + // but this is not the upper case letter Å. + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); \ No newline at end of file diff --git a/lib/jquery.ime/rules/jv/jv-transliteration.js b/lib/jquery.ime/rules/jv/jv-transliteration.js new file mode 100644 index 00000000..8c086dbd --- /dev/null +++ b/lib/jquery.ime/rules/jv/jv-transliteration.js @@ -0,0 +1,217 @@ +( function ( $ ) { + 'use strict'; + + var jvTransliteration = { + id: 'jv-transliteration', + name: 'Javanese', + description: 'Javanese transliteration', + date: '2012-09-01', + URL: 'http://github.com/wikimedia/jquery.ime', + author: 'Bennylin', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 2, + patterns: [ + [ '\\\\([A-Za-z\\>_~\\.0-9])', '\\\\', '$1' ], + + [ '꧀ꦃa', '', '꧀​ꦲ' ], // pangkon and start with h + [ '꧀ꦃe', '', '꧀​ꦲꦺ' ], // pangkon and start with h + [ '꧀ꦃi', '', '꧀​ꦲꦶ' ], // pangkon and start with h + [ '꧀ꦃo', '', '꧀​ꦲꦺꦴ' ], // pangkon and start with h + [ '꧀ꦃu', '', '꧀​ꦲꦸ' ], // pangkon and start with h + + [ '꧀ꦂa', '', '꧀​ꦫ' ], // pangkon and start with r + [ '꧀ꦂe', '', '꧀​ꦫꦺ' ], // pangkon and start with r + [ '꧀ꦂi', '', '꧀​ꦫꦶ' ], // pangkon and start with r + [ '꧀ꦂo', '', '꧀​ꦫꦺꦴ' ], // pangkon and start with r + [ '꧀ꦂu', '', '꧀​ꦫꦸ' ], // pangkon and start with r + + [ '꧀ꦁa', '', '꧀​ꦔ' ], // pangkon and start with ng + [ '꧀ꦁe', '', '꧀​ꦔꦺ' ], // pangkon and start with ng + [ '꧀ꦁi', '', '꧀​ꦔꦶ' ], // pangkon and start with ng + [ '꧀ꦁo', '', '꧀​ꦔꦺꦴ' ], // pangkon and start with ng + [ '꧀ꦁu', '', '꧀​ꦔꦸ' ], // pangkon and start with ng + + [ 'ꦃa', '', 'ꦲ​' ], // vocal ended with -h followed by a + [ 'ꦃe', '', 'ꦲꦺ' ], // vocal ended with -h followed by e + [ 'ꦃi', '', 'ꦲꦶ' ], // vocal ended with -h followed by i + [ 'ꦃo', '', 'ꦲꦺꦴ' ], // vocal ended with -h followed by o + [ 'ꦃu', '', 'ꦲꦸ' ], // vocal ended with -h followed by u + + [ 'ꦂa', '', 'ꦫ​' ], // vocal ended with -r followed by a + [ 'ꦂe', '', 'ꦫꦺ' ], // vocal ended with -r followed by e + [ 'ꦂi', '', 'ꦫꦶ' ], // vocal ended with -r followed by i + [ 'ꦂo', '', 'ꦫꦺꦴ' ], // vocal ended with -r followed by o + [ 'ꦂu', '', 'ꦫꦸ' ], // vocal ended with -r followed by u + [ 'ꦂy', '', 'ꦫꦾ' ], // vocal ended with -r followed by y + + [ 'ꦁa', '', 'ꦔ​' ], // vocal ended with -ng followed by a + [ 'ꦁe', '', 'ꦔꦺ' ], // vocal ended with -ng followed by e + [ 'ꦁi', '', 'ꦔꦶ' ], // vocal ended with -ng followed by i + [ 'ꦁo', '', 'ꦔꦺꦴ' ], // vocal ended with -ng followed by o + [ 'ꦁu', '', 'ꦔꦸ' ], // vocal ended with -ng followed by u + + [ '(​)h', '', 'ꦃ' ], // vocal a ended with -h + [ '(​)r', '', 'ꦂ' ], // vocal a ended with -r + [ '(​)ꦤg', '', 'ꦁ' ], // vocal a ended with -ng + [ '(ꦴ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ)h', '', '$1ꦃ' ], // other vocal ended with -h + [ '(ꦴ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ)r', '', '$1ꦂ' ], // other vocal ended with -r + [ '(ꦴ|ꦍ|ꦺ|ꦼ|ꦶ|ꦷ|ꦸ|ꦹ)ꦤg', '', '$1ꦁ' ], // other vocal ended with -ng + + // consonant followed by consonant, basic + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦢh', '', '$1꧀ꦝ' ], // dh + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦤy', '', '$1꧀ꦚ' ], // ny + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦠh', '', '$1꧀ꦛ' ], // th + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)ꦤg', '', '$1꧀ꦔ' ], // ng + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)b', '', '$1꧀ꦧ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)c', '', '$1꧀ꦤ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)d', '', '$1꧀ꦢ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)(f|v)', '', '$1꧀ꦥ꦳' ], + [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)g', '', '$1꧀ꦒ' ], // can't be started with n, reserved for bigraf ng + [ '(ꦤ|ꦕ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦧ)h', '', '$1꧀ꦲ' ], // can't be started with k/d/t/g, reserved for bigraf kh/dh/th/gh + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)j', '', '$1꧀ꦗ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)k', '', '$1꧀ꦏ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)l', '', '$1꧀ꦭ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)m', '', '$1꧀ꦩ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)n', '', '$1꧀ꦤ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)p', '', '$1꧀ꦥ' ], + // ['(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)q', '',''], + [ 'ꦿꦺ`', '', 'ꦽ' ], // special biconsonant -rê + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)r', '', '$1ꦿ' ], // special biconsonant -ra + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)s', '', '$1꧀ꦱ' ], + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)t', '', '$1꧀ꦠ' ], + // v = f + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)w', '', '$1꧀ꦮ' ], + // ['(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)x', '',''], + [ '(ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦩ|ꦒ|ꦧ)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꧀ꦘ' ], // Nya murda + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)B', '', '$1꧀ꦨ' ], // Ba murda + [ '(ꦤ|ꦕ|ꦏ|ꦢ|ꦠ|ꦱ|ꦮ|ꦭ|ꦥ|ꦗ|ꦪ|ꦩ|ꦒ|ꦧ)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 + [ '​a', '', 'ꦴ' ], // long a (aa) + [ '​i', '', 'ꦍ' ], // (ai) + [ 'ꦶi', '', 'ꦷ' ], // long i (ii) + [ 'ꦸu', '', 'ꦹ' ], // long u (uu) + + // extended consonant + [ 'ꦏh', '', 'ꦏ꦳' ], // kh + [ 'ꦒh', '', 'ꦒ꦳' ], // gh + [ 'ꦢz', '', 'ꦢ꦳' ], // dz + [ 'ꦗ`', '', 'ꦙ' ], // Ja mahaprana + + // special consonant + [ 'ꦭꦺ`', '', 'ꦊ' ], // special character lê + [ 'ꦫꦺ`', '', 'ꦉ' ], // special character rê + + // non words + [ ' ', '', '​' ], // zero-width-space, since javanese have no space + [ 'q`', '', '꧀' ], // pengkal - to cut off the default -a vowel + [ 'x`', '', '꦳' ], // cecak telu + [ '꦳`', '', 'ꦀ' ], // panyangga + [ 'ꦀ`', '', '̈' ], // combining-diaresis + [ '̈`', '', '͜' ], // double-breve + + [ 'ꦫ`', '', 'ꦿ' ], // another way to write -ra + [ 'ꦪ`', '', 'ꦾ' ], // another way to write -ya + + // basic ha-na-ca-ra-ka + [ 'ꦢh', '', 'ꦝ' ], // dh + [ 'ꦠh', '', 'ꦛ' ], // th + [ 'ꦤy', '', 'ꦚ' ], // ny + [ 'ꦤg', '', 'ꦔ' ], // ng + [ 'ꦺ`', '', 'ꦼ' ], // ê + [ 'a', '', '​' ], // default vowel is a, by default using zero-width-non-joiner + [ 'b', '', 'ꦧ' ], + [ 'c', '', 'ꦕ' ], + [ 'd', '', 'ꦢ' ], + [ 'e', '', 'ꦺ' ], // é|è + [ '(f|v)', '', 'ꦥ꦳' ], + [ 'g', '', 'ꦒ' ], + [ 'h', '', 'ꦲ' ], + [ 'i', '', 'ꦶ' ], + [ 'j', '', 'ꦗ' ], + [ 'k', '', 'ꦏ' ], + [ 'l', '', 'ꦭ' ], + [ 'm', '', 'ꦩ' ], + [ 'n', '', 'ꦤ' ], + [ 'o', '', 'ꦺꦴ' ], + [ 'p', '', 'ꦥ' ], + // ['q', '',''], + [ 'r', '', 'ꦫ' ], + [ 's', '', 'ꦱ' ], + [ 't', '', 'ꦠ' ], + [ 'u', '', 'ꦸ' ], + // v = f + [ 'w', '', 'ꦮ' ], + // ['x', '',''], + [ 'y', '', 'ꦪ' ], + [ 'z', '', 'ꦗ꦳' ], + + // capital Ha-Na-Ca-Ra-Ka + [ 'ꦢ(h|H)', '', 'ꦝ' ], + [ 'ꦤ(y|Y)', '', 'ꦘ' ], // Nya murda + [ 'ꦠ(h|H)', '', 'ꦛ' ], + [ 'ꦤ(g|G)', '', 'ꦔ' ], + [ 'ꦌ`', '', 'ꦄꦼ' ], // Ê + [ 'A', '', 'ꦄ' ], // A + [ 'B', '', 'ꦨ' ], // Ba murda + [ 'C', '', 'ꦖ' ], // Ca murda(?) + [ 'D', '', 'ꦢ' ], + [ 'E', '', 'ꦌ' ], // É|È + [ '(F|V)', '', 'ꦥ꦳' ], + [ 'G', '', 'ꦓ' ], // Ga murda + [ 'H', '', 'ꦲ' ], + [ 'I', '', 'ꦆ' ], // I + [ 'J', '', 'ꦗ' ], + [ 'K', '', 'ꦑ' ], // Ka murda + [ 'L', '', 'ꦭ' ], + [ 'M', '', 'ꦩ' ], + [ 'N', '', 'ꦟ' ], //Na murda + [ 'O', '', 'ꦎ' ], //O + [ 'P', '', 'ꦦ' ], //Pa murda + [ 'Q', '', '' ], + [ 'R', '', 'ꦫ' ], + [ 'S', '', 'ꦯ' ], //Sa murda + [ 'T', '', 'ꦡ' ], //Ta murda + [ 'U', '', 'ꦈ' ], //U + //v = f + [ 'W', '', 'ꦮ' ], + [ 'X', '', '' ], + [ 'Y', '', 'ꦪ' ], + [ 'Z', '', 'ꦗ꦳' ], + + [ '0', '', '꧐' ], + [ '1', '', '꧑' ], + [ '2', '', '꧒' ], + [ '3', '', '꧓' ], + [ '4', '', '꧔' ], + [ '5', '', '꧕' ], + [ '6', '', '꧖' ], + [ '7', '', '꧗' ], + [ '8', '', '꧘' ], + [ '9', '', '꧙' ], + [ ',', '', '꧈' ], + [ '\\.', '', '꧉' ], + [ '꧊\\|', '', '꧋' ], // '||' + [ '\\|', '', '꧊' ], // '|' + [ '\\(', '', '꧌' ], // '(' + [ '\\)', '', '꧍' ], // ')' + [ '(\u200C)*_', '', '\u200c' ] + ] + }; + + $.ime.register( jvTransliteration ); + +}( jQuery ) ); \ No newline at end of file diff --git a/lib/jquery.ime/rules/kok/kok-inscript2.js b/lib/jquery.ime/rules/kok/kok-inscript2.js new file mode 100644 index 00000000..56d8218b --- /dev/null +++ b/lib/jquery.ime/rules/kok/kok-inscript2.js @@ -0,0 +1,117 @@ +( function ( $ ) { + 'use strict'; + + var kokInScript2 = { + id: 'kok-inscript2', + name: 'कोंकणी इनस्क्रिप्ट २', + description: 'Enhanced InScript keyboard for Kokani language', + date: '2012-11-06', + author: 'Parag Nemade', + 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", "त"], + [":", "छ"], + [";", "च"], + ["\"", "ठ"], + ["\\'", "ट"], + ["X", "ँ"], + ["x", "ं"], + ["C", "ण"], + ["c", "म"], + ["v", "न"], + ["b", "व"], + ["N", "ळ"], + ["n", "ल"], + ["M", "श"], + ["m", "स"], + ["\\<", "ष"], + [",", ","], + ["\\>", "।"], + ["\\.", "."], + ["/", "य"], + ["\\%", "ज्ञ"], + ["\\^", "त्र"], + ["\\&", "क्ष"], + ["\\*", "श्र"]], + patterns_x: [ + ["1", "\u200d"], + ["2", "\u200c"], + ["4", "₹"], + ["\\+", "ॠ"], + ["\\=", "ॄ"], + ["e", "॑"], + ["R", "ॡ"], + ["r", "ॣ"], + ["d", "॒"], + ["F", "ऌ"], + ["f", "ॢ"], + ["X", "ॐ"], + [",", "॰"], + ["\\>", "ऽ"], + ["\\.", "॥"]] + }; + $.ime.register( kokInScript2 ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/mn/mn-cyrl.js b/lib/jquery.ime/rules/mn/mn-cyrl.js new file mode 100644 index 00000000..817ba33e --- /dev/null +++ b/lib/jquery.ime/rules/mn/mn-cyrl.js @@ -0,0 +1,119 @@ +/** + * This is my work based on Git for the very first time, which is an input method for the Mongolian + * Cyrillic script. If the program has any errors, please understand that and contact me. I will + * change the errors in a few days. + */ + +( function ( $ ) { + 'use strict'; + + var mncyrl = { + id: 'mn-cyrl', + name: 'Mongolian Cyrillic', + description: 'Mongolian Cyrillic Input Method', + date: '2012-10-25', + URL: 'http://github.com/wikimedia/jquery.ime', + author: 'Kevin K.S. Leung, ', + license: 'GPLv3', + version: '1.0', + patterns: [ + ['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', 'т'], + [',', 'ь'], + ['\\.', 'в'], + ['/', 'ю'], + ['\\-', 'е'], + ['=', 'щ'], + + ['`', '='], + ['~', '+'], + ['1', '№'], + ['2', '-'], + ['3', '"'], + ['4', '₮'], + ['5', ':'], + ['6', '.'], + ['7', '_'], + ['8', ','], + ['9', '%'], + ['0', '?'], + ['!', '1'], + ['@', '2'], + ['#', '3'], + ['\\$', '4'], + ['%', '5'], + ['^', '6'], + ['&', '7'], + ['*', '8'], + ['\\(', '9'], + ['\\)', '0'] + ] + }; + + $.ime.register( mncyrl ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/no/no-normforms.js b/lib/jquery.ime/rules/no/no-normforms.js new file mode 100644 index 00000000..005602ba --- /dev/null +++ b/lib/jquery.ime/rules/no/no-normforms.js @@ -0,0 +1,51 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'no-normforms', + name: 'Norsk', + description: 'Norwegian input method with most common form transliterated', + date: '2012-12-04', + URL: 'http://www.evertype.com/alphabets/bokmaal-norwegian.pdf', + //URL: 'http://www.evertype.com/alphabets/nynorsk-norwegian.pdf', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 3, + patterns: [ + // The most common transliterations + [ 'aa', 'å' ], + [ 'AA', 'Å' ], + [ 'Aa', 'Å' ], + [ 'ae', 'æ' ], + [ 'AE', 'Æ' ], + [ 'Ae', 'Æ' ], + [ 'oe', 'ø' ], + [ 'OE', 'Ø' ], + [ 'Oe', 'Ø' ], + // The previous as negated transliterations, mostly for names + [ 'åa', 'a', 'aa' ], + [ 'ÅA', 'A', 'AA' ], + [ 'Åa', 'A', 'Aa' ], + [ 'åA', 'a', 'aA' ], + [ 'æe', 'e', 'ae' ], + [ 'ÆE', 'E', 'AE' ], + [ 'Æe', 'E', 'Ae' ], + [ 'æE', 'e', 'aE' ], + [ 'øe', 'e', 'oe' ], + [ 'ØE', 'E', 'OE' ], + [ 'Øe', 'E', 'Oe' ], // this fails for some names like "Øen" + [ 'øE', 'e', 'oE' ] + // historically similar forms + // "Å" is sometimes written as "Aa", and "å" as "aa", but in names + // it is not generally acceptable to use this transliteration. To + // handle those situations we need some oposite forms. + // There is a similar character "Å" for the length unit Angstrom, + // but this is not the upper case letter Å. + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/no/no-tildeforms.js b/lib/jquery.ime/rules/no/no-tildeforms.js new file mode 100644 index 00000000..ed2885d1 --- /dev/null +++ b/lib/jquery.ime/rules/no/no-tildeforms.js @@ -0,0 +1,36 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'no-tildeforms', + name: 'Norsk', + description: 'Norwegian input method with initial tilde triggering transliteration', + date: '2012-12-04', + URL: 'http://www.evertype.com/alphabets/bokmaal-norwegian.pdf', + //URL: 'http://www.evertype.com/alphabets/nynorsk-norwegian.pdf', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + //contextLength: 1, + maxKeyLength: 3, + patterns: [ + // Uses "~" as "approximatly similar to" + [ '°a', 'å' ], // The simple ~a does not work as there is a "ã" + [ '°A', 'Å' ], // The simple ~A does not work as there is a "Ã" + [ '~ae', 'æ' ], // The simple ~a does not work as there is a "ã" + [ '~AE', 'Æ' ], // The simple ~A does not work as there is a "Ã" + [ '~oe', 'ø' ], // The simple ~o does not work as there is a "õ" + [ '~OE', 'Ø' ], // The simple ~O does not work as there is a "Õ" + [ '~aa', 'å' ], // The simple ~a does not work as there is a "ã" + [ '~AA', 'Å' ] // The simple ~A does not work as there is a "Ã" + // historically similar forms + // "Å" is sometimes written as "Aa", and "å" as "aa", but in names + // it is not generally acceptable to use this transliteration. + // There is a similar character "Å" for the length unit Angstrom, + // but this is not the upper case letter Å. + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/se/se-normforms.js b/lib/jquery.ime/rules/se/se-normforms.js new file mode 100644 index 00000000..71cd5292 --- /dev/null +++ b/lib/jquery.ime/rules/se/se-normforms.js @@ -0,0 +1,39 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'se-normforms', + name: 'Davvisámegiella', + description: 'Northern Sami input method', + date: '2012-12-04', + URL: 'http://giellatekno.uit.no/doc/infra/samihtml.html', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + //contextLength: 1, + maxKeyLength: 3, + patterns: [ + // Uses "~" as "approximatly similar to" + [ "'a", 'á' ], // The simple ~a does not work as there is a "ã" + [ "'A", 'Á' ], // The simple ~A does not work as there is a "Ã" + [ '~c', 'č' ], + [ '~C', 'Č' ], + [ '~d', 'đ' ], + [ '~D', 'Đ' ], + //[ '~ng', 'ŋ' ], // The simple ~n does not work as there is a "ñ" + //[ '~NG', 'Ŋ' ], // The simple ~N does not work as there is a "Ñ" + [ '~g', 'ŋ' ], + [ '~G', 'Ŋ' ], + [ '~s', 'š' ], + [ '~S', 'Š' ], + [ '~t', 'ŧ' ], + [ '~T', 'Ŧ' ], + [ '~z', 'ž' ], + [ '~Z', 'Ž' ] + // historically similar forms + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); diff --git a/lib/jquery.ime/rules/sv/sv-normforms.js b/lib/jquery.ime/rules/sv/sv-normforms.js new file mode 100644 index 00000000..aed223da --- /dev/null +++ b/lib/jquery.ime/rules/sv/sv-normforms.js @@ -0,0 +1,51 @@ +( function ( $ ) { + 'use strict'; + + var defs = { + id: 'sv-normforms', + name: 'Svenska', + description: 'Swedish input method with most common form transliterated', + date: '2012-12-04', + URL: 'http://www.evertype.com/alphabets/swedish.pdf', + author: 'John Erling Blad', + license: 'GPLv3', + version: '1.0', + contextLength: 1, + maxKeyLength: 3, + patterns: [ + // The most common transliterations + [ 'aa', 'å' ], + [ 'AA', 'Å' ], + [ 'Aa', 'Å' ], + [ 'ae', 'ä' ], + [ 'AE', 'Ä' ], + [ 'Ae', 'Ä' ], + [ 'oe', 'ö' ], + [ 'OE', 'Ö' ], + [ 'Oe', 'Ö' ], + // The previous as negated transliterations, mostly for names + [ 'åa', 'a', 'aa' ], + [ 'ÅA', 'A', 'AA' ], + [ 'Åa', 'A', 'Aa' ], + [ 'åA', 'a', 'aA' ], + [ 'äe', 'e', 'ae' ], + [ 'ÄE', 'E', 'AE' ], + [ 'Äe', 'E', 'Ae' ], + [ 'äE', 'e', 'aE' ], + [ 'öe', 'e', 'oe' ], + [ 'ÖE', 'E', 'OE' ], + [ 'Öe', 'E', 'Oe' ], // this fails for some names like "Øen" + [ 'öE', 'e', 'oE' ] + // historically similar forms + // "Å" is sometimes written as "Aa", and "å" as "aa", but in names + // it is not generally acceptable to use this transliteration. The + // same is the case for "Ô" vs "Oe". To + // handle those situations we need some oposite forms. + // There is a similar character "Å" for the length unit Angstrom, + // but this is not the upper case letter Å. + ] + }; + + $.ime.register( defs ); + +}( jQuery ) ); \ No newline at end of file