diff --git a/rules/kix/kix-tilde.js b/rules/kix/kix-tilde.js new file mode 100644 index 00000000..f2971e3e --- /dev/null +++ b/rules/kix/kix-tilde.js @@ -0,0 +1,26 @@ +( function ( $ ) { + 'use strict'; + + var kixTilde = { + id: 'kix-tilde', + name: 'Khiamniungan tilde', + description: 'Khiamniungan Naga input keyboard', + date: '2026-07-22', + URL: 'https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Extension:UniversalLanguageSelector/Input_methods/kix-tilde', + author: 'Toluwanimi Ayodele', + license: 'GPLv3', + version: '1.0', + maxKeyLength: 2, + patterns: [ + [ '~u', 'ü' ], // U+00FC + [ '~U', 'Ü' ], // U+00DC + [ '~\\\\', '\u0300' ], // Combining grave + [ '~-', '\u0304' ], // Combining macron + [ '~\\^', '\u0302' ], // Combining circumflex + [ '~/', '\u0301' ] // Combining acute + ] + }; + + $.ime.register( kixTilde ); +}( jQuery ) ); + diff --git a/src/jquery.ime.inputmethods.js b/src/jquery.ime.inputmethods.js index 64188cc0..e48e926b 100755 --- a/src/jquery.ime.inputmethods.js +++ b/src/jquery.ime.inputmethods.js @@ -540,6 +540,10 @@ name: 'Gĩkũyũ', source: 'rules/ki/ki-tilde.js' }, + 'kix-tilde': { + name: 'Khiamniungan tilde', + source: 'rules/kix/kix-tilde.js' + }, 'kk-arabic': { name: 'Kazakh Arabic transliteration', source: 'rules/kk/kk-arabic.js' @@ -1530,6 +1534,10 @@ autonym: 'Gĩkũyũ', inputmethods: [ 'ki-tilde' ] }, + kix: { + autonym: 'Khiamniungan', + inputmethods: [ 'kix-tilde' ] + }, kk: { autonym: 'Қазақша', inputmethods: [ 'kk-kbd', 'kk-arabic' ] diff --git a/test/jquery.ime.test.fixtures.js b/test/jquery.ime.test.fixtures.js index 9948e2f7..0fd26301 100644 --- a/test/jquery.ime.test.fixtures.js +++ b/test/jquery.ime.test.fixtures.js @@ -1,4 +1,4 @@ -// Variables for Cyrillic with palochka transliteration tests. +// Variables for Cyrillic with palochka transliteration tests. // All the characters are very similar in appearance, // so it's better to give them names to avoid confusion. // eslint-disable-next-line no-implicit-globals @@ -4253,6 +4253,20 @@ var palochkaVariants = { { input: 'd~ha', output: 'ದ್ಹ', description: 'd~ha for ದ್ಹ in Kannada transliteration' } ] }, + { + description: 'Khiamniungan Naga tilde test', + inputmethod: 'kix-tilde', + tests: [ + { input: 'a~\\a~-a~^a~/e~\\e~-e~^e~/i~\\i~-i~^i~/', output: 'àāâáèēêéìīîí', description: 'a/e/i × 4 tones' }, + { input: 'o~\\o~-o~^o~/u~\\u~-u~^u~/', output: 'òōôóùūûú', description: 'o/u × 4 tones' }, + { input: '~u~\\~u~-~u~^~u~/', output: 'ǜǖü̂ǘ', description: 'ü × 4 tones' }, + { input: '~U~\\~U~-~U~^~U~/', output: 'ǛǕÜ̂Ǘ', description: 'Ü × 4 tones' }, + { input: '~u~- a~/ e~^ i~\\ o~-', output: 'ǖ á ê ì ō', description: 'mixed tones with spaces' }, + { input: '~~ ~ ~x ~', output: '~~ ~ ~x ~', description: 'double tilde, tilde space, tilde+x' }, + { input: 'A~\\E~-I~^O~/U~\\', output: 'ÀĒÎÓÙ', description: 'capital tone-marked vowels' }, + { input: 'h~u~-he~^i', output: 'hǖhêi', description: 'real word h~u~-he~^i' } + ] + }, { description: 'Korean RR test', inputmethod: 'ko-rr',