diff --git a/rules/nus/nus-tilde.js b/rules/nus/nus-tilde.js new file mode 100644 index 00000000..e2c6e8fc --- /dev/null +++ b/rules/nus/nus-tilde.js @@ -0,0 +1,28 @@ +( function ( $ ) { + 'use strict'; + + var nusTilde = { + id: 'nus-tilde', + name: 'nus-tilde', + description: 'Nuer input keyboard', + date: '2021-01-18', + URL: 'https://github.com/wikimedia/jquery.ime', + author: 'Amir E. Aharoni', + license: 'GPLv3', + version: '1.0', + patterns: [ + [ '~E', 'Ɛ' ], + [ '~e', 'ɛ' ], + [ '~G', 'Ɣ' ], + [ '~g', 'ɣ' ], + [ '~N', 'Ŋ' ], + [ '~n', 'ŋ' ], + [ '~O', 'Ɔ' ], + [ '~o', 'ɔ' ], + [ '~:', '\u0308' ], // Combining diaeresis + [ '~_', '\u0331' ] // Combining macron below + ] + }; + + $.ime.register( nusTilde ); +}( jQuery ) ); diff --git a/src/jquery.ime.inputmethods.js b/src/jquery.ime.inputmethods.js index d5e28793..94fbf0da 100755 --- a/src/jquery.ime.inputmethods.js +++ b/src/jquery.ime.inputmethods.js @@ -594,6 +594,10 @@ name: 'Sesotho sa Leboa tilde', source: 'rules/nso/nso-tilde.js' }, + 'nus-tilde': { + name: 'Thok Naath tilde', + source: 'rules/nus/nus-tilde.js' + }, 'or-inscript': { name: 'ଇନସ୍କ୍ରିପ୍ଟ', source: 'rules/or/or-inscript.js' @@ -1234,6 +1238,10 @@ autonym: 'Sesotho sa Leboa', inputmethods: [ 'nso-tilde' ] }, + nus: { + autonym: 'Thok Naath', + inputmethods: [ 'nus-tilde' ] + }, or: { autonym: 'ଓଡ଼ିଆ', inputmethods: [ 'or-phonetic', 'or-transliteration', 'or-inscript', 'or-inscript2', 'or-lekhani', 'or-OdiScript' ] diff --git a/test/jquery.ime.test.fixtures.js b/test/jquery.ime.test.fixtures.js index 5a9d7192..17170933 100644 --- a/test/jquery.ime.test.fixtures.js +++ b/test/jquery.ime.test.fixtures.js @@ -3780,6 +3780,40 @@ var palochkaVariants = { { input: '~o', output: 'ô', description: 'Northern Sotho tilde ô' } ] }, + { + description: 'Nuer tilde test', + inputmethod: 'nus-tilde', + tests: [ + { input: 'A~_', output: 'A̱', description: 'Nuer tilde A̱' }, + { input: 'A~:', output: 'Ä', description: 'Nuer tilde Ä' }, + { input: 'E~_', output: 'E̱', description: 'Nuer tilde E̱' }, + { input: 'E~:', output: 'Ë', description: 'Nuer tilde Ë' }, + { input: '~E', output: 'Ɛ', description: 'Nuer tilde Ɛ' }, + { input: '~E~_', output: 'Ɛ̱', description: 'Nuer tilde Ɛ̱' }, + { input: '~E~:', output: 'Ɛ̈', description: 'Nuer tilde Ɛ̈' }, + { input: '~G', output: 'Ɣ', description: 'Nuer tilde Ɣ' }, + { input: 'I~_', output: 'I̱', description: 'Nuer tilde I̱' }, + { input: '~N', output: 'Ŋ', description: 'Nuer tilde Ŋ' }, + { input: 'O~_', output: 'O̱', description: 'Nuer tilde O̱' }, + { input: 'O~:', output: 'Ö', description: 'Nuer tilde Ö' }, + { input: '~O', output: 'Ɔ', description: 'Nuer tilde Ɔ' }, + { input: '~O~_', output: 'Ɔ̱', description: 'Nuer tilde Ɔ̱' }, + { input: 'a~_', output: 'a̱', description: 'Nuer tilde a̱' }, + { input: 'a~:', output: 'ä', description: 'Nuer tilde ä' }, + { input: 'e~_', output: 'e̱', description: 'Nuer tilde e̱' }, + { input: 'e~:', output: 'ë', description: 'Nuer tilde ë' }, + { input: '~e', output: 'ɛ', description: 'Nuer tilde ɛ' }, + { input: '~e~_', output: 'ɛ̱', description: 'Nuer tilde ɛ̱' }, + { input: '~e~:', output: 'ɛ̈', description: 'Nuer tilde ɛ̈' }, + { input: '~g', output: 'ɣ', description: 'Nuer tilde ɣ' }, + { input: 'i~_', output: 'i̱', description: 'Nuer tilde i̱' }, + { input: '~n', output: 'ŋ', description: 'Nuer tilde ŋ' }, + { input: 'o~_', output: 'o̱', description: 'Nuer tilde o̱' }, + { input: 'o~:', output: 'ö', description: 'Nuer tilde ö' }, + { input: '~o', output: 'ɔ', description: 'Nuer tilde ɔ' }, + { input: '~o~_', output: 'ɔ̱', description: 'Nuer tilde ɔ̱' } + ] + }, { description: 'Oriya InScript test', inputmethod: 'or-inscript',